有很多不符合我的观点
has many didn't work with my view
我正在努力让我的 has_many 正常工作。
我有两个模型:
项目:
- 名称:字符串
- desc:文本
- 标签:参考资料
项目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|
我正在努力让我的 has_many 正常工作。
我有两个模型:
项目:
- 名称:字符串
- desc:文本
- 标签:参考资料
项目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>
我没听错。
以及如何添加多个标签? 我的想法是复制标签所在的 div。
我认为您想在您的标签关系上调用 build
,然后不将标签对象传递给您的 fields_for
。
控制器:
def new
@project = Project.new
@project.tags.build
end
查看:
= f.fields_for :tags do |f_tags|