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



Total Rails新手问题:

我有麻烦得到一个表单正确工作。该应用程序是一个简单的投资组合站点。您可以创建一个项目并将标签关联到(例如,在项目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

我自己从来没有尝试过,但认为这样的东西应该工作

<% Tag.all.each do |t| %>
  <%= f.checkbox :t.tagname, t.tagname%>
<% end %>

你应该这样使用:

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

为什么不试试acts-as-taggable gem呢?它很容易使用。

最新更新