3

Rails 3.1 と Ruby 1.9.2 を Active Admin と共に使用して CMS を構築しています。ここに私の場所と画像のモデルがあります:

class Place < ActiveRecord::Base
  has_one :image    
  accepts_nested_attributes_for :image
end

class Image < ActiveRecord::Base
  belongs_to :place 
end

Placesコントローラーの「新しい」アクションでレンダリングしているFormtasticフォームは次のとおりです。

<%= semantic_form_for [:admin, @place] do |p| %>
  <%= p.inputs "Details" do %>
    <%= p.input :name %>
    <%= p.input :description %>
    <%= p.input :phone %>
    <%= p.input :address %>
    <%= p.input :image %>
  <% end %>
  <%= p.buttons %>
<% end %>

フォームをブラウザにロードすると、次のエラーが表示されます。

undefined method `place_id' for #<Place:0xb801744>

キッカーは次のとおりです。私の Place モデルで と に変更し、has_one :imageフォームで に変更すると、エラーは消え、Formtastic は使用可能なすべての画像オブジェクトを含む複数選択入力要素を適切にレンダリングします。では、選択入力要素を表示するのではなく、関連付けを使用すると、なぜこのエラーが発生するのでしょうか?has_many :imagesaccepts_nested_attributes_for :imageaccepts_nested_attributes_for :imagesp.input :imagep.input :imageshas_one

4

1 に答える 1

2

https://github.com/gregbell/active_admin/issues/575によると、これは formtastic とアクティブな管理者の間のバグです - github の問題をフォローし、シナリオを説明することをお勧めします。複数のコミュニティ メンバーが問題を報告しています。

于 2011-11-08T22:00:57.797 に答える