如何解决设计,让注册控制器接受图像?
| 我更新了views / devise / registrations / edit.html.erb以支持用户的回形针照片(User.photo):<%= form_for(resource,:as => resource_name,:url => registration_path(resource_name),:html => { :method => :put,:multipart => true }) do |f| %>
<p><%= f.label :photo %><br />
<%= f.file_field :photo %></p>
这似乎很好:
Started POST \"/users\" for 127.0.0.1 at Tue Jun 14 13:00:27 -0700 2011
Processing by Devise::RegistrationsController#update as HTML
Parameters: {\"commit\"=>\"Update\",\"authenticity_token\"=>\"2beiFZYBwuUdTprM3QARML6SQlH9yz/oWzPqfdj1GdQ=\",\"utf8\"=>\"✓\",\"user\"=>{\"photo\"=>#<ActionDispatch::Http::UploadedFile:0x103126b60 @tempfile=#<File:/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/RackMultipart20110614-3154-l07lvd-0>,@original_filename=\"screenshot-3.png\",@headers=\"Content-Disposition: form-data; name=\\\"user[photo]\\\"; filename=\\\"screenshot-3.png\\\"\\r\\nContent-Type: image/png\\r\\n\",@content_type=\"image/png\">,\"password_confirmation\"=>\"[FILTERED]\",\"current_password\"=>\"[FILTERED]\",\"password\"=>\"[FILTERED]\",\"email\"=>\"name@gmail.com\"}}
User Load (0.2ms) SELECT \"users\".* FROM \"users\" WHERE \"users\".\"id\" = 1 LIMIT 1
CACHE (0.0ms) SELECT \"users\".* FROM \"users\" WHERE \"users\".\"id\" = 1 LIMIT 1
[paperclip] identify -format %wx%h \'/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/stream20110614-3154-1ozp24i-0.png[0]\' 2>/dev/null
[paperclip] convert \'/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/stream20110614-3154-1ozp24i-0.png[0]\' -resize \"300x300>\" \'/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/stream20110614-3154-1ozp24i-020110614-3154-zrpy05-0\' 2>/dev/null
[paperclip] identify -format %wx%h \'/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/stream20110614-3154-1ozp24i-0.png[0]\' 2>/dev/null
[paperclip] convert \'/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/stream20110614-3154-1ozp24i-0.png[0]\' -resize \"100x100>\" \'/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/stream20110614-3154-1ozp24i-020110614-3154-10hkm68-0\' 2>/dev/null
Rendered devise/registrations/edit.html.erb within layouts/application (13.3ms)
Completed 200 OK in 385ms (Views: 17.9ms | ActiveRecord: 0.2ms)
但是由于某种原因它不是保存到数据库吗?
任何想法为什么会这样?
解决方法
我记得设计限制了蝙蝠可以访问的属性。
如果添加
attr_accessible :photo
对您的用户模型有效吗?
, 我遇到了同样的问题。我想你应该确保你ApplicationController
before_filter :configure_permitted_parameters,if: :devise_controller?
并定义方法
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up){| u | u.permit(:photo,... here)}
结束
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。