ここに状況はあります:Attachment FuプラグインをCommunity Engineで削除せずに無効にするにはどうすればよいですか?
コミュニティエンジンのフォトモデルは添付ファイルFuを使用しています。私は代わりにペーパークリップを使いたい。
これは、添付ファイルを削除する必要があるまでうまく動作します。それが添付ファイルFuが問題を引き起こしているときです。ここでPhoto.rbは(中/ベンダー/プラグイン/ community_engine /アプリ/モデル)のようになります。
class Photo < ActiveRecord::Base
acts_as_commentable
belongs_to :album
has_attachment prepare_options_for_attachment_fu(AppConfig.photo['attachment_fu_options'])
acts_as_taggable
acts_as_activity :user, :if => Proc.new{|record| record.parent.nil? && record.album_id.nil?}
validates_presence_of :size
validates_presence_of :content_type
validates_presence_of :filename
validates_presence_of :user, :if => Proc.new{|record| record.parent.nil? }
validates_inclusion_of :content_type, :in => attachment_options[:content_type], :message => "is not allowed", :allow_nil => true
validates_inclusion_of :size, :in => attachment_options[:size], :message => " is too large", :allow_nil => true
...
...
end
だから私の質問は:このプラグインを無効にする方法はありますか?私はphoto.rbを変更して行を削除したり、プラグインを削除したりしたくない。
ここに任意のアイデアはありますか?
新しい写真のモデル(/ /アプリで):
require 'paperclip_processors/cropper'
class Photo < ActiveRecord::Base
attr_accessible :image
has_attached_file :image,
:path=>":class/:hash/:style.:extension",
:styles => {
:thumb => {:geometry => "100x100!", :crop_to => :crop_parameters},
:medium => {:geometry => "290x320!", :crop_to => :crop_parameters},
:large => {:geometry => "664>", :crop_to => :crop_parameters},
:uncropped => "630x472"
},
:convert_options=>'-quality 92',
:processors => [:cropper]
def crop_parameters
ActiveSupport::JSON.decode(read_attribute(:crop_parameters)) rescue nil
end
# overrides to make paperclip appear as attachment_fu to existing pages
def size # in MB
image_file_size
end
def filename
image_file_name
end
def content_type
image_content_type
end
def public_filename(size=:original)
image.url(size) || ""
end
end
新しい写真コントローラ(中/アプリ/):
require 'pp'
class PhotosController < BaseController
before_filter :use_paperclip, :only => [:create]
def use_paperclip
params[:photo][:image] = params[:photo][:uploaded_data]
params[:photo].delete(:uploaded_data)
end
end
私は聞いていますが、attachmentfuはCommunity Engine Pluginのプラグインとしてインストールされています。 – Gbert90