两个不同的类使用一个类的accepts_nested_attributes

时间:2017-06-20 15:32:51

标签: ruby-on-rails ruby

我有一个Addresse类,其中Organismereferent和Organisme与has_many belongs_to有关系。 Organismereferent和Organisme也可以accepts_nested_attributes_for :addresses

我的问题是,当我只有Organismereferent课程时,一切都工作正常,我能够创建一个新的Organismereferent with aresresse但是一旦我创建并添加了与Organisme相同的关系,他们都停止工作而不给任何错误消息我只在控制台中得到这个: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md#external-dependency-version-information

我的模特:

class Organismereferent < ApplicationRecord
  has_many :addresses
  has_many :referents
  accepts_nested_attributes_for :addresses
end

class Organisme < ApplicationRecord
  has_many :addresses
  accepts_nested_attributes_for :addresses
end

class Address < ApplicationRecord
  belongs_to :organismereferent
  belongs_to :organisme
end

Organisme控制器

def new
  @organisme = Organisme.new
  @organisme.addresses.build
end

def create
  @organisme = Organisme.new(organisme_params)
  @organisme.status = true
  @organisme.save
  redirect_to @organisme
end

private
  def organisme_params
    params.require(:organisme).permit(:nom, :telephone, :courriel, :fax, addresses_attributes: [:id, :no_civique, :rue, :ville, :province, :etat, :code_postal])
  end

Organismereferent控制器:

def new
  @organisme = Organismereferent.new
  @organisme.addresses.build
end

def create
  @organisme = Organismereferent.new(organisme_params)
  @organisme.active = true
  @organisme.save
  redirect_to @organisme
end

private
  def organisme_params
      params.require(:organismereferent).permit(:nom_organisation, :bureau, :telecopie, :courriel, :site_web, addresses_attributes: [:id, :no_civique, :rue, :ville, :province, :etat, :code_postal])
  end

我不确定其他哪些信息可能很重要,所以我很乐意添加任何信息。

1 个答案:

答案 0 :(得分:1)

尝试更改地址模型,如

class Address < ApplicationRecord
  belongs_to :organismereferent, optional: true
  belongs_to :organisme, optional: true
end