为什么关联不会在我的表中添加新记录?

时间:2016-10-24 16:15:46

标签: ruby-on-rails model-view-controller associations nested-attributes

我有2个型号:Chocolate和Kind,其中巧克力类似乎:

class Chocolate < ActiveRecord::Base
  has_many :kinds, inverse_of: :chocolate
  accepts_nested_attributes_for :kinds

和Kind类看起来像:

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表中添加一条新记录,但它不会通过关联向我的kinds表添加记录。

ChocolateController我有:

private
def chocolate_params
  params.require(:chocolate).permit(:netto, kinds_attributes: [:kind])
end

那么,为什么它没有用关联写入我的表?我哪里错了?

1 个答案:

答案 0 :(得分:1)

如何使用简单形式的嵌套模型:https://github.com/Microsoft/tslint-microsoft-contrib/blob/master/README.md

所以,你需要这样的东西:

= simple_form_for @chocolate do |ch|
  = ch.simple_fields_for :kinds ...