diff --git a/app/models/page.rb b/app/models/page.rb index d13b403a..eb2ba799 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -31,13 +31,14 @@ class Page < Item protected def create_parts + page_design = self.design parent = self.parent menu_part = parent.page_parts.detect{|page_part| page_part.kind.eql?('public_r_tag') && page_part.public_r_tag.eql?('sub_menu') && page_part.public_r_tag_object_id.eql?(parent.id.to_s)} if parent page_design.layout.layout_parts.each do |layout_part| current_part = self.page_parts.detect{|page_part| page_part.name.eql?(layout_part.name)} current_part = self.page_parts.build(:name => layout_part.name) unless current_part - if menu_part && current_part.name.eql?(menu_part.name) + if current_part.name.eql?(menu_part.name) && menu_part if current_part.new_record? current_part.kind = menu_part.kind current_part.public_r_tag = menu_part.public_r_tag @@ -50,6 +51,10 @@ class Page < Item current_part.update_attributes(:kind => menu_part.kind, :public_r_tag => menu_part.public_r_tag, :public_r_tag_object_id => menu_part.public_r_tag_object_id) end end + else + if current_part.new_record? + current_part.save + end end end end