F:\>ruby -v
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
F:\>rails -v
Rails 3.0.5
form_for 下的 select 是这么写的:
<%= f.select :parent_id, options_tree_for_select(@departments) %>
其中 options_tree_for_select 返回的是多个 <option>拼接在一起的html.
当在show页面用select_tag 代替 f.select时,页面上下拉框中的空的:
<%= select_tag :department_parent_id, options_tree_for_select(@departments) %>
查了很长时间,不知原因。
后来在浏览器查看页面源码,发现<select>之间的<option>是经过转码的。恍然,改为以下解决:
<%= select_tag :department_parent_id, options_tree_for_select(@departments).html_safe %>