我的表单中有这个字段:
%select{ :name => "name", :value => "#{@r.name}" }
%option{ :value => "name1" } Name1
%option{ :value => "name2" } Name2
%option{ :value => "name3" } Name3
无论当前值如何,它当前始终显示第一个选项。如果有的话,我需要它来选择正确的值。
最佳答案
您可以通过使用 Rails 的帮助程序来实现这一点 select_tag
和 options_for_select
:
- options = [ ['Name1', 'name1'], ['Name2', 'name2'], , ['Name3', 'name3'] ]
- selected_option_value = @r.name
= select_tag 'name', options_for_select(options, selected_option_value)
一些文档:
如果您仍然不想使用 Rails 的帮助程序而仅使用 HAML,则在您的情况下:
%select{ :name => "name", :value => "#{@r.name}" }
%option{ :value => "name1", :selected => @r.name == 'name1' ? 'selected' : '' } Name1
%option{ :value => "name2", :selected => @r.name == 'name2' ? 'selected' : '' } Name2
%option{ :value => "name3", :selected => @r.name == 'name3' ? 'selected' : '' } Name3
关于ruby-on-rails - 在选择标签中显示当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21287573/