有很多不符合我的观点

has many didn't work with my view

我正在努力让我的 has_many 正常工作。

我有两个模型:

项目:

项目has_many:标签

标签:

标签belongs_to:项目

我的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'

但是我得到这样的错误: #<Tag::ActiveRecord_Associations_CollectionProxy:0x00007f4456cc7148>

的未定义方法 'name'

我没听错。

以及如何添加多个标签? 我的想法是复制标签所在的 div。

我认为您想在您的标签关系上调用 build,然后不将标签对象传递给您的 fields_for

控制器:

def new
  @project = Project.new
  @project.tags.build
end

查看:

= f.fields_for :tags do |f_tags|