<%= select_tag("tag_ids[]", options_for_select(Tag.find(:all).collect { |tag| [tag.name, tag.id] }, @post.tags.collect {|tag| tag.id}), {:multiple => true, :size => 6, :id => "post_tags"}) %>
?
其中:multiple => true表示为多选框,不写默认为单选。
options_for_select参数为两个collect,第一个collect为select选择的集合,注意id和name的顺序;第二个collect为默认勾选选项的集合。
size规定列表中可视选项数量,如果小于总数量,会显示滚动条。