1

ここに状況はあります: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 

答えて

0

あなたvendor/ディレクトリにプラグインをインストールした場合、見つけますplugins/サブディレクトリの下のプラグインを開き、init.rbのすべてをコメントアウトします。これにより、ソースツリーからプラグインを削除せずにプラグインのすべての機能を無効にする必要があります。

+0

私は聞いていますが、attachmentfuはCommunity Engine Pluginのプラグインとしてインストールされています。 – Gbert90

0

何も初期化していないときは、ペーパークリップをどのように使っていますか?

あなたは初期設定でクラスを開き、必要に応じて変更することができます。

設定ファイルから設定されたアダプタパターンを使用して添付ファイルを追加してください。モジュールを作成して組み込むことができます。このモジュールは、あなたが作成したいくつかの設定と、初期化するためのパラメータを得る場所に応じて、paperclipまたは添付ファイルfuを含めるかどうかを決定します。

+0

上記の質問にコードを追加しました。もう一度見てみてください。 – Gbert90

関連する問題