Ruby on rails 3 上传附件时未调用回形针,因此附件不会保存。Rails3+上传

Ruby on rails 3 上传附件时未调用回形针,因此附件不会保存。Rails3+上传,ruby-on-rails-3,paperclip,attachment,uploadify,Ruby On Rails 3,Paperclip,Attachment,Uploadify,我有两个不同的应用程序使用回形针。在不保存附件或调用回形针的应用程序上,我上传应用程序时会收到此日志 started POST "/users/1/uploads" for 127.0.0.1 at 2011-04-23 13:38:11 +0100 Processing by UploadsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"t2dRIH4FgOPnLRhpD

我有两个不同的应用程序使用回形针。在不保存附件或调用回形针的应用程序上,我上传应用程序时会收到此日志

started POST "/users/1/uploads" for 127.0.0.1 at 2011-04-23 13:38:11 +0100
Processing by UploadsController#create as HTML
Parameters: {"utf8"=>"✓",    "authenticity_token"=>"t2dRIH4FgOPnLRhpDK0x7iIfjB9Xj5rqkJRPCWZvJ14=", "upload"=> {"document"=>#<ActionDispatch::Http::UploadedFile:0x2beeb08 @original_filename="Essay  questions have various requirements.doc", @content_type="application/msword",  @headers="Content-Disposition: form-data; name=\"upload[document]\"; filename=\"Essay  questions have various requirements.doc\"\r\nContent-Type: application/msword\r\n",  @tempfile=#<File:C:/DOCUME~1/Ed/LOCALS~1/Temp/RackMultipart20110423-3980-ycq74p>>},  "commit"=>"Upload", "user_id"=>"1"}
[1m[35mUser Load (0.0ms)[0m  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
[1m[36mUpload Load (0.0ms)[0m  [1mSELECT "uploads".* FROM "uploads" WHERE  ("uploads".uploadable_id = 1 AND "uploads".uploadable_type = 'User')[0m
Rendered uploads/_uploadify.html.erb (15.6ms)
Rendered uploads/_form.html.erb (31.2ms)
Rendered uploads/new.html.erb within layouts/application (46.9ms)
Completed 200 OK in 500ms (Views: 234.4ms | ActiveRecord: 0.0ms)

您是否记得在视图中的表单标记中添加:multipart=>true?

尝试将:document\u file\u名称添加到attr\u可访问调用。

我注意到的一件事是,您的要点中uploadify的第17行有一个输入错误。你有dat.upload,可能应该是data.upload


另外,您是否尝试过一次取消一个验证的注释?让我知道会发生什么。我也经历过与回形针的战争。

我和你做的事情完全一样,但使用aws-s3 gem帮助我通过回形针上传到s3。这是我的模型中的内容:

has_attached_file :image,
                :storage => :s3,
                :s3_credentials => "#{Rails.root.to_s}/config/s3.yml",
                :bucket => "your_s3_bucket_name",
                :path => ":attachment/:id/:style/:filename"
我的档案里有这个:

gem "paperclip", "~> 2.3"

gem "aws-s3"
在我的分组表中:

t.string   "image_file_name"
t.string   "image_content_type"
t.integer  "image_file_size"
t.datetime "image_updated_at"

哈,我打算提出同样的建议。那一次不止一次地让我着迷!谢谢,但是在将:document\u file\u name添加到attr\u accessible调用之后,它仍然无法正常工作,除非我注释掉“has\u attached\u file:document”部分和验证。哦,好吧,这只是一个想法。我以前有一个困难的错误,当我没有:文档作为属性可访问。谢谢你的建议。我已经更正了拼写并检查了验证,现在看来还可以,但是如果“has_attached_file:document”有任何选项,附件仍然不起作用。另外,我看到两个路由错误。一个是当曲别针调用'SELECT'而不是'INSERT'时,第二个是当我调用localhost:3000/users/1/uploads时,它调用uploads/index.html.erb。感谢Againga我们真的看到了你的表单代码?SELECT语句不是用来获取用户信息以验证身份验证令牌的吗?@CharlieMezak,感谢你对这个问题给予了赏金。表单部分文件和其他视图文件已附加。@Joseph。谢谢,但我不认为SELECT语句是用来吸引用户的,因为当我从纸夹的**'has_many_attachment:document'中注释出:url和:path选项时,会调用INSERT语句,虽然它保存了文件,但最终会在网站上显示我的密码、真伪令牌等。啊,我明白了,我们绝对不希望发生这种事,汉克斯。您是否建议usinh附上文件“文档”。我运行**rails生成回形针上载文档,而不是rails生成回形针上载图像。您认为文档是rails中的保留字吗。再次感谢。
Processing by UploadsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Azxzi09R7NU7+jxj+lxHFGfs+qw7D6b7yRKegRjRQMc=", "upload"=> {"document"=>#<ActionDispatch::Http::UploadedFile:0x2994ff0 @original_filename="al night  verses.txt", @content_type="text/plain", @headers="Content-Disposition: form-data;  name=\"upload[document]\"; filename=\"al night verses.txt\"\r\nContent-Type:  text/plain\r\n", @tempfile=#<File:C:/DOCUME~1/Ed/LOCALS~1 /Temp/RackMultipart20110505-3444-1rlpnr>>}, "commit"=>"Upload", "user_id"=>"1"}
[1m[35mUser Load (0.0ms)[0m  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
[paperclip] C:\ImageMagick-6.6.3-Q16/identify -format %wx%h "C:/DOCUME~1/Ed/LOCALS~1 /Temp/stream20110505-3444-1cpnf87.txt[0]"
[paperclip] C:\ImageMagick-6.6.3-Q16/convert "C:/DOCUME~1/Ed/LOCALS~1 /Temp/stream20110505-3444-1cpnf87.txt[0]" -resize "150x150>" "C:/DOCUME~1/Ed/LOCALS~1 /Temp/stream20110505-3444-1cpnf8720110505-3444-1vnp5jx"
[paperclip] C:\ImageMagick-6.6.3-Q16/identify -format %wx%h "C:/DOCUME~1/Ed/LOCALS~1 /Temp/stream20110505-3444-1cpnf87.txt[0]"
[paperclip] C:\ImageMagick-6.6.3-Q16/convert "C:/DOCUME~1/Ed/LOCALS~1 /Temp/stream20110505-3444-1cpnf87.txt[0]" -resize "100x100>" "C:/DOCUME~1/Ed/LOCALS~1 /Temp/stream20110505-3444-1cpnf8720110505-3444-1vyk9i"
 [1m[36mUpload Load (0.0ms)[0m  [1mSELECT "uploads".* FROM "uploads" WHERE  ("uploads".uploadable_id = 1 AND "uploads".uploadable_type = 'User')[0m
Rendered uploads/_uploadify.html.erb (15.6ms)
Rendered uploads/_form.html.erb (31.2ms)
Rendered uploads/new.html.erb within layouts/application (62.5ms)
<%= debug @parent %>
<%= render :partial => "uploads/uploadify" %>
</br>
<%= form_for [parent, upload], :html => { :multipart => true } do |f|  %>
<div class="field">
<%= f.label :document %><br />
<%= f.file_field :document %>
</div>

<div class="actions">
<%= f.submit "Upload"%>
</div>
<%= render 'form', :parent => @parent, :upload => @upload %>
<%= render "uploads/form", :parent => user, :upload => user.uploads.new %>
attributes:
id: 1
email: xyz@yahoo.com
encrypted_password: $2a$10$HiksbkRXDtcXiJyUIRj
password_salt: $2a$10$HiksbkRXD
reset_password_token: !!null 
remember_token: !!null 
remember_created_at: !!null 
sign_in_count: 3
current_sign_in_at: '2011-04-25 18:57:27.078125'
last_sign_in_at: '2011-04-25 09:25:31.406250'
current_sign_in_ip: 127.0.0.1
last_sign_in_ip: 127.0.0.1
created_at: '2011-04-09 17:46:15.546875'
updated_at: '2011-04-25 18:57:27.078125'
changed_attributes: {}
previously_changed: {}
attributes_cache: {}
marked_for_destruction: false
destroyed: false
readonly: false
new_record: false
has_attached_file :image,
                :storage => :s3,
                :s3_credentials => "#{Rails.root.to_s}/config/s3.yml",
                :bucket => "your_s3_bucket_name",
                :path => ":attachment/:id/:style/:filename"
gem "paperclip", "~> 2.3"

gem "aws-s3"
t.string   "image_file_name"
t.string   "image_content_type"
t.integer  "image_file_size"
t.datetime "image_updated_at"