以下のコードを動作させるのに問題があります。
class Page < ActiveRecord::Base
has_many :page_parts, :through => :page_parts_pages
has_many :page_parts_pages
accepts_nested_attributes_for :page_parts, :allow_destroy => true
accepts_nested_attributes_for :page_parts_pages, :allow_destroy => true
end
class PagePart < ActiveRecord::Base
has_many :page_parts_pages
has_many :pages, :through => :page_parts_pages
end
class PagePartsPage < ActiveRecord::Base
belongs_to :page
belongs_to :page_part
end
テーブル構造:-
pages
id, title
pages_parts
id, title
page_parts_pages
id, page_id, page_part_id
コードを表示
<% page_fragment.each do |k,v| %>
<% if v.nil? or v.blank? or v.empty? %>
<% parts = f.object.page_parts.build if f.object.page_parts.blank? %>
<%= f.fields_for :page_parts, parts do |p| %>
<%= render 'page_part_form_field', :f => p %>
<% end %>
<% else %>
<% parts_page = f.object.page_parts_pages.build if f.object.page_parts_pages.blank? %>
<%= f.fields_for :page_parts_pages, parts_page do |p| %>
<%= render 'page_part_page_form_field', :f => p %>
<% end %>
<% end %>
<% end %>
実際には、条件に基づいて page_parts と page_parts_pages のフィールドを表示する必要があります。条件が満たされた場合、page_parts のフィールドを表示します。そうでない場合、page_parts_pages のフィールドを表示します。
新しいアクションでは問題なく動作しますが、編集アクションでは正しく表示されません。
どんな助けでも大歓迎です。
前もって感謝します