2016-07-20 20 views
1

Select Feld hinzuzufügen:Wie Bedingung basierend ausgewählten Status in Auswahlfeld

select#language_top onChange="window.location.href=this.value" 
    option value=("#{url_for(locale: 'en')}") data-image=("#{image_url('english.png')}") English 
    option value=("#{url_for(locale: 'de')}") data-image=("#{image_url('german.png')}") selected='' German 

Ich möchte selected='' hinzufügen, basierend auf einer Bedingung. Ich habe es so gemacht:

select#language_top onChange="window.location.href=this.value" 
    - if params[:locale] == "en" 
    option value=("#{url_for(locale: 'en')}") data-image=("#{image_url('english.png')}") selected='' English 
    - else 
    option value=("#{url_for(locale: 'en')}") data-image=("#{image_url('english.png')}") English 
    - if params[:locale] == "de" 
    option value=("#{url_for(locale: 'de')}") data-image=("#{image_url('german.png')}") selected='' German 
    - else 
    option value=("#{url_for(locale: 'de')}") data-image=("#{image_url('german.png')}") German 

Ich denke, es kann refaktoriert werden. Irgendeine Idee?

Antwort

1

Dies sollte für Sie arbeiten:

select#language_top onChange="window.location.href=this.value" 
    option selected=(params[:locale] == "en") value=("#{url_for(locale: 'en')}") data-image=("#{image_url('english.png')}") English 
    option selected=(params[:locale] == "de") value=("#{url_for(locale: 'de')}") data-image=("#{image_url('german.png')}") German