有许多人没有按照我的观点工作

时间:2017-10-27 16:54:52

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-5 haml

我试图让我的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。

1 个答案:

答案 0 :(得分:1)

我想您想在代码关系上调用build,然后不将代码对象传递给fields_for

控制器:

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

查看:

= f.fields_for :tags do |f_tags|