完全な方法ではないかもしれませんが、動作します。
私はにアップロードされたファイルの複数のバージョンを作りました:クラスRedactorRailsの '作成' :: PicturesControllerがredactor_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
は最後に、私はこの形式で保存したいアップローダーからのバージョンの値を持つ非表示の入力を追加しました。
それはできないようです。私はいくつかの宝石の方法を無効にしてそれを機能させる必要がありました。 – barba
解決策とコードで質問にお答えできますか?私もこれをやりたいと思っています。あなたの答えを受け入れるよりもできるのです。 –