0
私のレールアプリケーションで動作するnginxアップロードモジュールを取得するのに問題があります。nginxアップロードモジュール
私の経路制御装置では、この方法作成マイ
attr_accessor :tmp_upload_dir
after_create :clean_tmp_upload_dir
# handle new param
def fast_asset=(file)
if file && file.respond_to?('[]')
self.tmp_upload_dir = "#{file['filepath']}_1"
tmp_file_path = "#{self.tmp_upload_dir}/#{file['original_name']}"
FileUtils.mkdir_p(self.tmp_upload_dir)
FileUtils.mv(file['filepath'], tmp_file_path)
self.asset = File.new(tmp_file_path)
end
end
private
# clean tmp directory used in handling new param
def clean_tmp_upload_dir
FileUtils.rm_r(tmp_upload_dir) if self.tmp_upload_dir && File.directory? (self.tmp_upload_dir)
end
upload_pass @fast_upload_endpoint;
upload_store /pathto/shared/uploads_tmp 1;
upload_store_access user:rw group:rw all:r;
upload_set_form_field upload[fast_asset][original_name] "$upload_file_name";
upload_set_form_field upload[fast_asset][content_type] "$upload_content_type";
upload_set_form_field upload[fast_asset][filepath] "$upload_tmp_path";
upload_pass_form_field "^image_id$|^authenticity_token$|^format$";
upload_cleanup 400 404 499 500-505;
}
location @fast_upload_endpoint {
passenger_enabled on;
rails_env production;
}
location/{
rails_env production;
passenger_enabled on;
}
nginx.conf
match '/images/fast_upload' => 'images#create', :via => :post
画像モデル
def create
@image = current_user.images.build(params[:image])
if @image.save
基本的には、この作成方法でnginxを使用してアップロードする方法がわかりません。私は@image = @ resource.current_user.images.build(params [:image])を使用しようとしましたが、それは私に未定義のメソッドエラーを与えていました。