Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用简单表单创建一个has_many-through记录?我_Ruby On Rails_Simple Form - Fatal编程技术网

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