Ruby on rails 在RubyonRails中使用select标记将select设置为nil
您好,我正在尝试在ruby的select()中设置Ruby on rails 在RubyonRails中使用select标记将select设置为nil,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,您好,我正在尝试在ruby的select()中设置“:selected=>nil”或设置为变量的值,如“:selected=>val”,但这两种方式都不起作用。请大家告诉我下面的代码片段有什么问题。 谢谢 nil)%> val)%> 其中,map1[:field_name]是一个字符串 和map1[:field_code]返回一个散列 val是一个包含哈希值之一的变量。 尝试在选项周围加上花括号: {:selected => val} 你的代码片段工作得很好。用它来测试 hash =
“:selected=>nil”
或设置为变量的值,如“:selected=>val”
,但这两种方式都不起作用。请大家告诉我下面的代码片段有什么问题。
谢谢
nil)%>
val)%>
其中,map1[:field_name]是一个字符串
和map1[:field_code]返回一个散列
val是一个包含哈希值之一的变量。
尝试在选项周围加上花括号:
{:selected => val}
你的代码片段工作得很好。用它来测试
hash = { "n" => "no", "y" => "yes" }
val = "yes"
ActionView::Base::new.select("name", "id", hash, selected: val)
它创造了:
<select id="name_id" name="name[id]">
<option value="no">n</option>
<option selected="selected" value="yes">y</option>
</select>
N
Y
您的
val
和map1[:field\u code]
值不完全匹配,或者如果启动Rails应用程序并检查表单以查看selected=“selected”
,这可能是Rails之外的问题(如您的浏览器)。val是否包含“id”?这里有一个适合我的格式:@party.restaurant\u id})%>
我是ruby on rails的新手,但是我的val不包含任何id。它像这样映射1[:field\u code]={“n”=>“no”,“y”=>“yes”}和val将有=yes任何方法的最后一个参数都可以是自由形式的散列,不需要花括号。请记住,所选选项的类型必须完全匹配,因此如果val
为2
,并且map1
数据中的条目为“2”
,则它们不相同。map1[:field_codes]
的内容是什么?是的,所以我的输出看起来像这样,我还检查了val是否包含准确的值。谢谢
<select id="name_id" name="name[id]">
<option value="no">n</option>
<option selected="selected" value="yes">y</option>
</select>