我使用select_tag在表单中创建了一个下拉框:
<%= select_tag(:warning, options_for_select([['None', 1], ['Medium', 2], ['High', 3]], 1)) %>
现在我想显示他们选择的值的相应文本而不是show.html.erb中的id,因此它显示'None'而不是1.我是新手,并且不能很好地理解它出。现在我只使用默认的脚手架代码并显示id:
<%= @standing.warning %>
...谢谢
答案 0 :(得分:1)
您是否尝试反转选项以使 ['None', 1]
变为[1, 'None']
?
更新您的常规模型:
class Standing
@@warning_labels = { 1 => 'None', 2 => 'Medium', 3 => 'High' }
def warning_str
@@warning_labels[@warning]
end
end
在show.rb中:
<%= @standing.warning_str %>
或强>
在standing_helpers.rb
:
def warning_str(warning_id)
warning_labels = { 1 => 'None', 2 => 'Medium', 3 => 'High' }
warning_labels[warning_id];
end
在show.rb中:
<%= warning_str(@standing.warning) %>