更新
@selected
attributes:
group_id: "29"
attributes_cache: {}
@data
attributes:
created_at: 2010-06-19 10:16:13
term_id: "1"
updated_at: 2010-06-19 10:16:13
id: "29"
course_id: "1"
您好,
我正在尝试预选select_tag中的项目
<%= select_tag "contact[group_ids][]",
options_for_select(
@data.map{ |d| [" Term #{d.term.number} #{d.term.start_date} #{d.course.course_type} #{d.course.course_name}"] },
@selected.map{ |j| j.id }
),
:multiple => true
%>
@data对象是列表中的所有项目,而@selected包含应该选择的项目的id。
为什么没有被选中的任何想法?
谢谢,Alex
答案 0 :(得分:0)
我相信它只是
<%= select_tag "contact[group_ids][]",
options_for_select(
@data.map{ |d| [" Term #{d.term.number} #{d.term.start_date} #{d.course.course_type} #{d.course.course_name}"] },
@selected
),
:multiple => true
%>
因为railsapi.com
说:
“
selected
也可能是一个数组 使用a时要选择的值 多选“
修改强>
我认为@selected
是一个ID数组,但事实并非如此。因此,您首次编写代码(使用@selected.map{ |j| j.id }
)的方式应该有效。
答案 1 :(得分:0)
您可以使用 - options_from_collection_for_select()
来完成此操作http://shiningthrough.co.uk/Select-helper-methods-in-Ruby-on-Rails