私はレールが初めてで、ペーパークリップの宝石に取り組んでいて、ペーパークリップから保存された単純なファイルを保存したかったのです。私は次のように私のモデルを持っています:-
class UserAttachment < ActiveRecord::Base
attr_accessible :email, :user_id, :attached_file
has_attached_file :attached_file
validates_attachment_presence :attached_file
validates_attachment_size :attached_file, :less_than => 20.megabytes
end
フォームが呼び出される私のコントローラーアクション:-
class HomeController < ApplicationController
def index
@uattachment = UserAttachment.new
end
end
フォームが配置されているインデックス ビュー コード
<%= form_for @uattachment, :url => attachment_get_link_path, :html => { :method => :post, :id => 'attachment_form', :multipart => true }, :remote => true do |f| %>
<%= f.email_field :email, :value=>nil, :placeholder => "Enter your email here", :required => true %><br />
<%= f.file_field :attached_file %>
<%= f.submit "Submit" %>
<% end %>
次の種類のコードを使用してデータを保存したいと思います:- (以下のコードは正しいコードではありません。アプリケーションで何をしたいのかを伝えるのはエキサイティングです。)
@uattachment = UserAttachment.new
@uattachment = params[:user_attachment]
@uattachment.save
受け取ったパラメータは次のとおりです:-
(rdb:6) pp params
{"utf8"=>"✓",
"authenticity_token"=>"dfjaskldjadslgjsoidruts48589034lsker=",
"user_attachment"=>
{"email"=>"testing@email.com",
"attached_file"=>
#<ActionDispatch::Http::UploadedFile:0x007fcb58682ba0
@content_type="image/jpeg",
@headers=
"Content-Disposition: form-data; name=\"user_attachment[attached_file]\"; filename=\"someimage.jpg\"\r\nContent-Type: image/jpeg\r\n",
@original_filename="800px-Kinnaur_Kailash.jpg",
@tempfile=#<File:/tmp/RackMultipart20121205-8432-1fc1kpi>>},
"commit"=>"Submit",
"controller"=>"attachment",
"action"=>"get_link"}