1
如何在表單中選擇區域選擇下拉菜單?軌道形式的界面語言選擇器?
我有一個用戶模型列「lng」,其中我存儲了「en」,「fr」等i18n語言環境字符串。
我的目標是下拉列表中的所有語言列出「英語」,「法語」和表格更新它存儲在用戶表中正確的「EN」,「fr」值。
這將是什麼方法呢?
如何在表單中選擇區域選擇下拉菜單?軌道形式的界面語言選擇器?
我有一個用戶模型列「lng」,其中我存儲了「en」,「fr」等i18n語言環境字符串。
我的目標是下拉列表中的所有語言列出「英語」,「法語」和表格更新它存儲在用戶表中正確的「EN」,「fr」值。
這將是什麼方法呢?
你可以簡單的使用選擇標籤http://guides.rubyonrails.org/form_helpers.html#the-select-and-option-tags:
= form_for @user do |f|
= f.select :lng, options_for_select([['English', 'en'], ['French', 'fr']], @user.lng)
我也建議到某處陣列移動到常數。例如,在它自己的模型User中的方法。例如:
#models/user.rb
def self.lng_list
[['English', 'en'], ['French', 'fr']]
end
#form
= form_for @user do |f|
= f.select :lng, options_for_select(User.lng_list, @user.lng)
編輯
在簡單的形式,你可以使用軌道形成這樣https://github.com/plataformatec/simple_form#wrapping-rails-form-helpers助手:
= f.input :lng do
= f.select :lng, options_for_select(User.lng_list, @user.lng)
或者你可以使用collection
選項https://github.com/plataformatec/simple_form#collections:
= f.input :lng, :collection => User.lng_list
thx很多這個作品我ñ基本知識,但因爲我使用simple_form它不正確顯示標籤。如果我這樣做:標籤=>「國家」它沒有顯示和= f.label「國家」打印標籤,但沒有正確的CSS。答案很好,但也許你知道如何以簡單的形式做到這一點? thx很多 – Rubytastic
@Rubytastic,我已經更新了我的答案。 –
thx很多完全做到了! – Rubytastic