我的表格中有这个字段:
%select{ :name => "name", :value => "#{@r.name}" }
%option{ :value => "name1" } Name1
%option{ :value => "name2" } Name2
%option{ :value => "name3" } Name3
目前它始终显示第一个选项,无论当前值如何。如果有的话,我需要它来选择正确的值。
答案 0 :(得分:3)
您可以使用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