2

我正在使用带有 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)}'),
      }
});

有什么想法吗?谢谢!

4

1 回答 1

0

Uploadify 的 flash 组件使用不同于 Rails 用于其会话的 cookie 存储。您可以使用flash_cookie_session gem 来解决这个问题。

从它的文档来看,您似乎需要将您的修改为以下内容formData

{
  "<%= key = Rails.application.config.session_options[:key] %>" : "<%= cookies[key] %>"
  "<%= request_forgery_protection_token %>" : "<%= form_authenticity_token %>",
}
于 2012-07-06T05:27:49.623 回答