我试图让我的has_many工作。
我有两个模特:
项目:
项目has_many:tags
标记:
标签belongs_to:project
我的project_controller:
def new
@project = Project.new
@project.tags = Tags.new
end
但正确的观点是什么? 我试过这样的事情:
= form_for @project do |f|
= f.text_field :title
= f.text_area :desc
= f.fields_for :tags, @project.tags do |f_tags|
= f_tags.text_field :name, placeholder: 'Tag-Name'
但我收到这样的错误:
未定义的方法&#39; name&#39;对于#<Tag::ActiveRecord_Associations_CollectionProxy:0x00007f4456cc7148>
我没有弄错。
我如何添加多个标签? 我的想法是复制标签所在的div。
答案 0 :(得分:1)
我想您想在代码关系上调用build
,然后不将代码对象传递给fields_for
。
控制器:
def new
@project = Project.new
@project.tags.build
end
查看:
= f.fields_for :tags do |f_tags|