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呢?它很容易使用。