我正在使用 acollection_select
来显示哈希的内容:
哈希
CATEGORY1_TEXT_STYLE = {
'Normal' => 'normal',
'Normal Centered' => 'normal center',
'Bold' => 'bold'
...
}
收藏选择
= collection_select :category1_style1, :first, Homepage::CATEGORY1_TEXT_STYLE, :last, :first, options = { :selected => style_selected(@style.first) }
style_selected
(来自助手)
def style_selected(value)
returnval = ''
Homepage::CATEGORY1_TEXT_STYLE.each { |key, val| returnval = key if val == value }
returnval
end
控制器
@style = Homepage.find(0).category1_style.gsub('-', '').split("\n")[1..-1]
这输出:[" bold center", " blue center", " normal center", " blue center"]
这很令人困惑,因为我不确定如何让它根据该哈希选择一个选定的值。我在使用 id 值(数字)之前已经完成了它并且它有效,但是这个键/值对都是字符串,并且该:selected => ""
字段似乎不想再次匹配字符串,无论它是匹配键还是价值(我都试过了)。
关于在处理字符串时尝试让集合选择显示默认选定值的任何见解?
谢谢!