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

それがあまり役立つかどうかはわかりませんが、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 に答える