1

我的公司有很多电话。

我创建了种子数据以添加 1 家公司和 1 部电话

当 RailsAdmin 呈现公司表单时,电话的嵌套字段正确显示。

当我单击“添加新电话”时,它会添加 2 个选项卡(每个选项卡都显示“电话(新)”),但无法显示这些字段。我一次又一次地单击“添加新手机”,又获得了 2 个标签,但无法输入数据。

def Company < ActiveRecord::Base
  has_many :phones
  attr_accessible :name, :phones_attributes
  accepts_nested_attributes_for :phones, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? }
end

def Phone < ActiveRecord::Base
  belongs_to :company, :inverse => :phones
  attr_accessible :number, :provider, :phone_type
end

顺便说一句 - 无论是编辑还是新建,“添加新手机”都不会显示任何输入数据的字段。

4

2 回答 2

0

我不知道它是否有很大帮助,但我也遇到了这个问题,因为我使用了另一个嵌套表单 gem,它与 RailsAdmin 所依赖的一个冲突(至少在 JS 中)。当我删除那个 gem(我相信是 awesome_nested_forms)时,所有内置的 RailsAdmin has_many 关联小部件再次正常运行。

于 2012-04-24T13:46:41.747 回答
0

从 rails 3.1.3 到 3.2.6 也遇到了同样的问题。我通过将 id 和 foreign_id 添加到 attr_accessible 来解决它。

def Company < ActiveRecord::Base
  has_many :phones
  attr_accessible :id, :name, :phones_attributes
  accepts_nested_attributes_for :phones, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? }
end

def Phone < ActiveRecord::Base
  belongs_to :company, :inverse => :phones
  attr_accessible :id, :number, :provider, :phone_type, :company_id
end
于 2012-08-02T07:43:37.723 回答