Ruby on Rails Paperclip update_attributes无效

时间:2011-12-02 10:58:35

标签: ruby-on-rails paperclip

我在我的网站上使用回形针上传头像。

我遇到的问题是,当我将表单设置为remote =>真正 帐户头像未更新。除头像外,所有其他属性都会更新。

当我使用重定向时,它工作正常。

我在我的网站上使用remotipart进行远程图像上传。通过远程请求上传图像的我网站的其他部分工作正常。

我对自己的错误感到困惑。

这是我目前为控制器所做的事情:

 def update
@account = Account.getAccountById(session[:user])
if @account.update_attributes(params[:account])

else

end
end

在视图中:

 <% form_for @account, :html => {:multipart => true}, :remote => true do |f| %>

感谢任何帮助。

谢谢,

布赖恩

更新

我正在使用remotipart gem。

当我使用remotipart_submitted修改条件语句时?它总是返回false。

另外,如果我检查params [:account] [:avatar] .blank?对于远程true,它总是返回true。

如果我删除remote =&gt;真的然后​​params [:account] [:avatar] .blank?如果文件字段有值,则返回true或false。

所以我很困惑为什么remote =&gt;如果没有检测到文件字段有值,则为true。

1 个答案:

答案 0 :(得分:0)

问题是JavaScript不允许您通过XHR上传文件,因为它被认为是安全风险。解决这个问题的方法是创建一个iframe,将表单复制到iframe中,然后在iframe中正常提交。

您可以使用jquery.form.js

之类的内容自动执行此操作