为什么协会没有向我的 table 添加新记录?
Why association does not add a new record to my table?
我有 2 个模型:Chocolate 和 Kind,其中 chocolate class 看起来像:
class Chocolate < ActiveRecord::Base
has_many :kinds, inverse_of: :chocolate
accepts_nested_attributes_for :kinds
种类 class 看起来像:
class Kind < ActiveRecord::Base
belongs_to :chocolate
我有下一个简单的表格,其中包含:
= simple_form_for @chocolate do |ch|
= ch.simple_fields_for :kinds, @chocolate.kinds.build(kind: 'Bitter') do |k|
= k.input :kind
= ch.input :netto
= ch.submit
因此,当我提交表单时,它会向我的 chocolates
table 添加一条新记录,但不会向我的 kinds
table 添加一条记录, 通过协会。
在ChocolateController
我有:
private
def chocolate_params
params.require(:chocolate).permit(:netto, kinds_attributes: [:kind])
end
那么,为什么它不写入我的 table 关联?我哪里搞错了?
如何使用简单形式的嵌套模型:https://github.com/plataformatec/simple_form/wiki/Nested-Models
所以,你需要这样的东西:
= simple_form_for @chocolate do |ch|
= ch.simple_fields_for :kinds ...
我有 2 个模型:Chocolate 和 Kind,其中 chocolate class 看起来像:
class Chocolate < ActiveRecord::Base
has_many :kinds, inverse_of: :chocolate
accepts_nested_attributes_for :kinds
种类 class 看起来像:
class Kind < ActiveRecord::Base
belongs_to :chocolate
我有下一个简单的表格,其中包含:
= simple_form_for @chocolate do |ch|
= ch.simple_fields_for :kinds, @chocolate.kinds.build(kind: 'Bitter') do |k|
= k.input :kind
= ch.input :netto
= ch.submit
因此,当我提交表单时,它会向我的 chocolates
table 添加一条新记录,但不会向我的 kinds
table 添加一条记录, 通过协会。
在ChocolateController
我有:
private
def chocolate_params
params.require(:chocolate).permit(:netto, kinds_attributes: [:kind])
end
那么,为什么它不写入我的 table 关联?我哪里搞错了?
如何使用简单形式的嵌套模型:https://github.com/plataformatec/simple_form/wiki/Nested-Models
所以,你需要这样的东西:
= simple_form_for @chocolate do |ch|
= ch.simple_fields_for :kinds ...