1

我正在使用 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 => ""字段似乎不想再次匹配字符串,无论它是匹配键还是价值(我都试过了)。

关于在处理字符串时尝试让集合选择显示默认选定值的任何见解?

谢谢!

4

1 回答 1

1

答案在这里:http ://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select#632--selected

如果您希望默认选择某个对象,请务必使用其 id,而不是整个对象。

于 2012-12-21T02:53:36.943 回答