我有一个工作表单(未绑定到模型,因此使用form_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
是解决方案,但我不确定这将如何进入上述代码?