我有一個工作表單(不綁定到模型,因此使用form_tag
),其中包含一個選擇框。基於GET參數在Ruby on Rails中使用select_tag的選定值
相關的代碼如下:
select_tag 'language', "<option value='ar' selected>Arabic</option>
<option value='bg'>Bulgarian</option><option value='ca'>Catalan</option>
<option value='zh-CHS'>Chinese (Simplified)</option>
<option value='zh-CHT'>Chinese (Traditional)</option>
...
<option value='tr'>Turkish</option><option value='uk'>Ukrainian</option>
<option value='vi'>Vietnamese</option>".html_safe
正如你會發現,阿拉伯語是默認選項,並有大約35種語言在列表中。
當用戶選擇他們的語言時,我單獨存儲該值(通過提交表單時的GET),但我希望表單在下次遇到表單時自動選擇用戶選擇的語言。換句話說:
- 「默認」選項是阿拉伯語;
- 用戶選擇法語作爲他們的語言;
- 下次遇到表單時(例如,當他們將 返回到相關頁面)時,會選擇法語而不是阿拉伯語。
一種方式我認爲實現這一目標是通過case...when
電話,其中selected
屬性添加到相關的選項,但35周以上的語言列表,這很可能會變得有點繁瑣,和我確信有一個更好/更整潔的方式。
任何想法?我想options_for_select
是解決方案,但我不知道這將如何進入上述代碼?