リダクターWYSIWYGを使用しています。ドキュメントから、Amazon S3 イメージのアップロードをサポートしています。アマゾンに画像をアップロードする別のシンプルなレールアプリを作成しました。
HTML
<%= form_for @image, :html => {:multipart => true, :accept => "image/gif,image/png,image/jpg"} do |f| %>
<div>
<label>Image</label>
</div>
<div style="width: 400px;" >
<%= file_field 'upload', 'datafile' %>
</div>
<div>
<%= f.submit "Upload image", :class => "button" %>
</div>
<% end %>
ImagesController に作成アクションがあります
アクションの作成 (aws-gem を使用)
def create
fileUp = params[:upload]
orig_filename = fileUp['datafile'].original_filename
filename = sanitize_filename(orig_filename)
AWS::S3::S3Object.store(filename, fileUp['datafile'].read, @@BUCKET, :access => :public_read)
url = AWS::S3::S3Object.url_for(filename, @@BUCKET, :authenticated => false)
@image = Image.new(params[:image])
@image.filename = filename
@image.url = url;
if @image.save
flash[:success] = "Image saved! "
redirect_to root_path
else
render '/images/new'
end
end
同じロジックを適用して、リダクターで画像をアップロードしようとしています。私は私のjavascriptにこれを持っています
$(document).ready(
function()
{
$('#answer_content').redactor({
imageUpload: '<%= upload_path %>'
});
}
);
私のroutes.rbで
match "upload" => "answers#imageUpload"
リダクター フォーム データをサーバー サイド スクリプトに渡す方法がわかりません。リダクターでアップロード スクリプトの html を検査する
<input type="file" id="redactor_file" name="file">
他のメソッドと同じように、このデータを Rails メソッドでキャプチャするにはどうすればよいですか? このリダクター HTML によって渡されるパラメーターがわかりません。ありがとう