我的分类型号:
class Category < ActiveRecord::Base
has_many :item_categoryships
has_many :items, :through => :item_categoryships
end
我的物品型号:
class Item < ActiveRecord::Base
has_many :item_categoryships
has_many :categories, class_name: 'ItemCategoryship', foreign_key: 'category_id', :through => :item_categoryships
end
我的ItemCategoryship模型:
class ItemCategoryship < ActiveRecord::Base
belongs_to :item
belongs_to :category
end
在views / items / edit.html.erb中,我编写了这样的简单表单代码:
<%= 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,我在控制器中写了这个:
@categories = current_user.categories
但是我遇到了问题,他们无法保存到数据库!!
我无法找出问题所在。请帮我.... 谢谢大家。
答案 0 :(得分:0)
对于视图,这个SO答案应该有所帮助: https://stackoverflow.com/a/9917006/2463468
您可能首先需要确保您的关联有意义。也许您只需要has_many
Items
和belongs_to
Category
ItemCategoryship
。
您可以不用{{1}}。