从另一个模型中提取check_box列表的数据

时间:2013-03-10 04:31:12

标签: ruby-on-rails ruby-on-rails-3

Total Rails Noob问题:

我无法让表单正常工作。该应用程序是一个简单的组合网站。您可以创建项目并将标签关联到(例如,在项目XYZ上我使用技能(标签)A,B和C)。有一个项目控制器和一个标签控制器。我有一个项目输入表单,我想在标签模型的标签列表中提取。如果我将数据作为选择框拉出来,一切都很好:

<%= f.label :Tag %><br />
<%= f.select :tag, Tag.all.collect { |t|
    [t.tagname] } %> 

但是,如果我尝试复选框列表,以便您可以为每个项目选择多个标记,则会出现错误(下面的代码未定义方法错误):

<%= f.label :Tag %><br />
<%= f.check_box :tag, Tag.each { |t|
    [t.tagname] } %>   

你能告诉我我应该在这做什么吗?这看起来应该很简单。 TIA

2 个答案:

答案 0 :(得分:0)

从未尝试过这个,但是想这样的事情应该有用

<% Tag.all.each do |t| %>

  <%= f.checkbox :t.tagname, t.tagname%>

<% end %>

答案 1 :(得分:0)

你应该这样使用:

 <%= f.fields_for :tag do |ft| %> 
   <% Tag.all.each do |t| %>
     <%= ft.check_box[] t.tagname, t.tagname %>
   <% end %>
 <% end %>

为什么不尝试使用简单易用的acts-as-taggable gem。