diff --git a/app/models/page.rb b/app/models/page.rb index eb2ba799..d6563e1a 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -28,7 +28,7 @@ class Page < Item before_save :create_parts, if: Proc.new { |page| page.new_record? || page.design_id_changed? } after_save :generate_html - protected +# protected def create_parts @@ -38,7 +38,8 @@ class Page < Item 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 current_part.name.eql?(menu_part.name) && menu_part + + if menu_part && current_part.name.eql?(menu_part.name) if current_part.new_record? current_part.kind = menu_part.kind current_part.public_r_tag = menu_part.public_r_tag diff --git a/lib/tasks/migrate.rake b/lib/tasks/migrate.rake index da07e20a..03de17e5 100644 --- a/lib/tasks/migrate.rake +++ b/lib/tasks/migrate.rake @@ -312,4 +312,11 @@ namespace :migrate do end end + task :recreate_page_parts => :environment do + Page.all.each do |page| + page.create_parts + page.save + end + end + end