2011-12-02 85 views
0

我在我的网站上使用回形针上传头像。Ruby on Rails回形针update_attributes不起作用

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

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

我在我的网站上使用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宝石。

当我正确使用remotipart_submitted条件语句?它总是返回false。

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

如果我删除remote => true,那么params [:account] [:avatar] .blank?如果文件字段有值,则返回true或false。

所以我很困惑为什么remote => true没有检测到文件字段有值。

回答

0

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

您可以通过使用像jquery.form.js

+0

东西我使用的是应该自动做这一切remotipart宝石有些自动执行此操作。 – Brian