在我网站上的每个 text_area 上,我都有一个用于选择语言的 select_box。它经常使用某些默认语言,但有时会检查自定义选项。我最初在控制器中设置了数组:
@language_array = [ ["english", 1], ["french", 2], ["spanish", 3] ]
@language_array = get_custom_array if custom_language?
然后它将被视图访问:
<%= select_tag(:language, options_for_select(language_array, default_language) )%>
这很好用,text_area 将显示语言并传递数字。但是,我现在想为每个页面添加多个 text_area,所以我将代码移到了一个帮助器中,并从视图中的每个 text_area 访问该帮助器:
language_array = get_language_array(thing.id)
<%= select_tag(:language, options_for_select(language_array, default_language) )%>
但是,现在 text_area 出现混乱,并显示数组而不仅仅是语言:
[“英语”,1]
如何修复它(不更改当前存储的数组)?我还希望帮助程序中的变量可用于页面上的 javascript。有没有比将所有东西从控制器转移到助手更好的方法来处理多个“事物”?