我正在使用带有Rails 3.2.2的Uploadify 3.1。我使用Authlogic来处理身份验证。 Authlogic提供current_user
方法,该方法为发出请求的用户提供。
当我尝试使用Uploadify 3.1上传某个文件时,如果在操作中查找时未设置current_user,则会提供nil
。 Uploadify 2.1.4没有发生这种情况。以下是我如何调用uploadify:
jQuery('#something').uploadify({
uploader : '#{some_path_from_rails_routes}',
swf : '/uploadify/uploadify.swf',
cancelImg : '/uploadify/cancel.png',
fileTypeDesc : 'FileNames',
auto : true,
removeCompleted : false,
buttonText : 'Some Label',
formData : {
'_http_accept': 'application/javascript',
'#{session_key_name}' : encodeURIComponent('#{u(cookies[session_key_name])}'),
'authenticity_token' : encodeURIComponent('#{u(form_authenticity_token)}'),
}
});
有什么想法?谢谢!
答案 0 :(得分:0)
Uploadify的flash组件使用与Rails用于其会话的cookie存储不同的cookie存储。您可以使用flash_cookie_session gem来解决此问题。
从文档中看,您需要将formData
修改为以下内容:
{
"<%= key = Rails.application.config.session_options[:key] %>" : "<%= cookies[key] %>"
"<%= request_forgery_protection_token %>" : "<%= form_authenticity_token %>",
}