2012-12-31 11 views
5

私はredactor_rails gemを搬送波で使用しています。 画像のアップロードでテキストエディタが必要な場所は2つあります。すべてのエディタの画像サイズを変えたいと思います。redactorのレールとキャリアウェーブの画像サイズ

バージョンを使用している場合は、すべての画像に2つのサイズがあり、テキストフィールドで画像のバージョンを変更する方法はわかりません。

主なアイデアは、私はそれを行うにはどうすればよい

redactor_rail_picture_uploader

内のすべてのエディタアップローダーのためにそれ自身のリサイズ処理を実行することですか?

+0

それはできないようです。私はいくつかの宝石の方法を無効にしてそれを機能させる必要がありました。 – barba

+0

解決策とコードで質問にお答えできますか?私もこれをやりたいと思っています。あなたの答えを受け入れるよりもできるのです。 –

答えて

2

完全な方法ではないかもしれませんが、動作します。

私はにアップロードされたファイルの複数のバージョンを作りました:クラスRedactorRailsの '作成' :: PicturesControllerredactor_rails_picture_uploader.rb初期化子を作成し

version :item_text do 
    process :resize_to_limit => [478, 478] 
end 

version :thumb do 
    process :resize_to_fill => [100, 100] 
end 

と方法を再定義しました。これで、フォームで渡したバージョンが 'version' paramで保存されます。

%input{:id => 'redactor_version', :value => 'item_text', :type => 'hidden'} 

このような何か:

RedactorRails::PicturesController.class_eval do 
    def create 
    @picture = RedactorRails::Picture.new 

    file = params[:file] 
    version = params[:version] 

    @picture.data = RedactorRails::Http.normalize_param(file, request) 
    if @picture.respond_to?(:user_id) 
     @picture.user = current_user 
     @picture.assetable = current_user 
    end 

    if @picture.save 
     if version 
     file_link = @picture.send(:url, version) 
     else 
     file_link = @picture.url 
     end 

     render :text => { :filelink => file_link }.to_json 

    else 
     render :nothing => true 
    end 
    end 
end 

は最後に、私はこの形式で保存したいアップローダーからのバージョンの値を持つ非表示の入力を追加しました。

+0

こんにちは@barba、Ruby on Railsアプリケーションのリッチテキストボックス用Redactorをどうやって実装しましたか教えてください。私は試しましたが、期待される出力を得られませんでした。どんな提案も喜ばれるでしょう。 –

+1

redactor jsモジュールをロードして、テキストエリアの 'redactor'クラスを設定しました。 – barba