From 358147632a78c4d8d177fcf6ff52a382c611e71d Mon Sep 17 00:00:00 2001 From: Wei Date: Sun, 20 Oct 2013 23:14:46 +0800 Subject: [PATCH 1/2] Compatibility of rails 4's strong parameters. --- .../mercury/install/images/templates/ar_paperclip_image.rb | 2 -- .../mercury/install/images/templates/images_controller.rb | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb b/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb index 52328ce9..3574c43c 100644 --- a/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb +++ b/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb @@ -2,8 +2,6 @@ class Mercury::Image < ActiveRecord::Base self.table_name = :mercury_images - attr_accessible :image - has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :path => ":rails_root/public/system/:attachment/:id/:style/:filename", :url => "/system/:attachment/:id/:style/:filename" diff --git a/lib/generators/mercury/install/images/templates/images_controller.rb b/lib/generators/mercury/install/images/templates/images_controller.rb index fa84460b..563c813d 100644 --- a/lib/generators/mercury/install/images/templates/images_controller.rb +++ b/lib/generators/mercury/install/images/templates/images_controller.rb @@ -4,7 +4,7 @@ class Mercury::ImagesController < MercuryController # POST /images.json def create - @image = Mercury::Image.new(params[:image]) + @image = Mercury::Image.new(params.require(:image).permit(:image)) @image.save respond_with @image end From b7edaec9ed261e66a0e7b9896abb9afaf0f63085 Mon Sep 17 00:00:00 2001 From: Wei Date: Mon, 21 Oct 2013 11:00:42 +0800 Subject: [PATCH 2/2] Use template instead of copy_file, for backward compatible. --- lib/generators/mercury/install/images/images_generator.rb | 3 ++- .../{ar_paperclip_image.rb => ar_paperclip_image.rb.erb} | 3 +++ .../{images_controller.rb => images_controller.rb.erb} | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) rename lib/generators/mercury/install/images/templates/{ar_paperclip_image.rb => ar_paperclip_image.rb.erb} (79%) rename lib/generators/mercury/install/images/templates/{images_controller.rb => images_controller.rb.erb} (55%) diff --git a/lib/generators/mercury/install/images/images_generator.rb b/lib/generators/mercury/install/images/images_generator.rb index e84f559d..dea76077 100644 --- a/lib/generators/mercury/install/images/images_generator.rb +++ b/lib/generators/mercury/install/images/images_generator.rb @@ -16,12 +16,13 @@ def copy_models copy_file 'mongoid_paperclip_image.rb', 'app/models/mercury/image.rb' else copy_file 'ar_paperclip_image.rb', 'app/models/mercury/image.rb' + template 'ar_paperclip_image.rb.erb', 'app/models/mercury/image.rb' migration_template 'ar_paperclip_image_migration.rb', 'db/migrate/create_mercury_images.rb' end end def copy_controller - copy_file 'images_controller.rb', 'app/controllers/mercury/images_controller.rb' + template 'images_controller.rb.erb', 'app/controllers/mercury/images_controller.rb' end def add_routes diff --git a/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb b/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb.erb similarity index 79% rename from lib/generators/mercury/install/images/templates/ar_paperclip_image.rb rename to lib/generators/mercury/install/images/templates/ar_paperclip_image.rb.erb index 3574c43c..a23d15f9 100644 --- a/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb +++ b/lib/generators/mercury/install/images/templates/ar_paperclip_image.rb.erb @@ -1,6 +1,9 @@ class Mercury::Image < ActiveRecord::Base self.table_name = :mercury_images + <% unless Gem::Version.new(::Rails::VERSION::STRING) >= Gem::Version.new("4.0.0") %> + attr_accessible :image + <% end %> has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :path => ":rails_root/public/system/:attachment/:id/:style/:filename", diff --git a/lib/generators/mercury/install/images/templates/images_controller.rb b/lib/generators/mercury/install/images/templates/images_controller.rb.erb similarity index 55% rename from lib/generators/mercury/install/images/templates/images_controller.rb rename to lib/generators/mercury/install/images/templates/images_controller.rb.erb index 563c813d..35960850 100644 --- a/lib/generators/mercury/install/images/templates/images_controller.rb +++ b/lib/generators/mercury/install/images/templates/images_controller.rb.erb @@ -4,7 +4,11 @@ class Mercury::ImagesController < MercuryController # POST /images.json def create - @image = Mercury::Image.new(params.require(:image).permit(:image)) + <% if Gem::Version.new(::Rails::VERSION::STRING) >= Gem::Version.new("4.0.0") %> + @image = Mercury::Image.new(params.require(:image).permit(:image)) + <% else %> + @image = Mercury::Image.new(params[:image]) + <% end %> @image.save respond_with @image end