Ruby on rails 如何使用简单表单创建一个has_many-through记录?我
我的类别模型:Ruby on rails 如何使用简单表单创建一个has_many-through记录?我,ruby-on-rails,simple-form,Ruby On Rails,Simple Form,我的类别模型: class Category < ActiveRecord::Base has_many :item_categoryships has_many :items, :through => :item_categoryships end 但我遇到了一个问题,他们无法保存到数据库 我找不出问题出在哪里。请帮帮我。。。。 谢谢大家。对于视图,这个答案应该有帮助: 您可能首先需要确保您的关联是有意义的。也许你只需要一个在项目上有许多,并且属于类别上的 您可
class Category < ActiveRecord::Base
has_many :item_categoryships
has_many :items, :through => :item_categoryships
end
但我遇到了一个问题,他们无法保存到数据库
我找不出问题出在哪里。请帮帮我。。。。
谢谢大家。对于视图,这个答案应该有帮助: 您可能首先需要确保您的关联是有意义的。也许你只需要一个
在项目上有许多,并且属于类别上的
您可能不需要ItemCategoryship
就可以访问rails控制台中的category.items
?抱歉……如果需要控制器来处理创建操作和删除操作?我只创建了一个最小的Rails网站,我不知道如何处理复选框……这两个模型之间的关系是什么。您是否尝试将项目分配给类别(即,每个项目一个类别)?复选框不是实现这一点的方法,但在解决该问题之前,您可能需要处理模型本身中的关联。我希望一个项目可以有多个类别…那么您可能不需要有多个:通过-类别应该使用属于关联。
class Item < ActiveRecord::Base
has_many :item_categoryships
has_many :categories, class_name: 'ItemCategoryship', foreign_key: 'category_id', :through => :item_categoryships
end
class ItemCategoryship < ActiveRecord::Base
belongs_to :item
belongs_to :category
end
<%= simple_form_for(@item) do |f| %>
<%= f.association :categories, collection: @categories, as: :check_boxes %>
<%= f.submit "Submit", class: "btn btn-large btn-primary" %>
<% end %>
@categories = current_user.categories