【问题标题】:Part of session is erased部分会话被删除
【发布时间】:2012-04-17 22:33:00
【问题描述】:

我正在使用带有 Rails 3 的 Uploadify。该表单适用于除 IE 之外的所有浏览器。

我正确设置了我的 csrf 变量,以便会话不会完全被吹走。

<% key = Rails.application.config.session_options[:key] %>
var uploadify_script_data = {};
var csrf_param = $('meta[name=csrf-param]').attr('content');
var csrf_token = $('meta[name=csrf-token]').attr('content');

uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token));
uploadify_script_data['<%= key %>'] = encodeURI(encodeURIComponent('<%= cookies[key] %>'));

$('#uploadify').uploadify({
  ...
  scriptData      : uploadify_script_data,
  ...
});

当我使用 3 步表单时会出现问题。在第二步中,我将所需的参数保存到会话变量中。在所有步骤中,我将参数与会话变量合并以使其保持最新。

在第二步中,会话看起来很好(我将其打印到日志中,所有信息都在那里),但这也是我使用uploadify 的步骤。在处理 ajax 调用的控制器中,我打印出会话,我可以看到会话 ID 和设计信息,但我正在使用的 object_params 完全重置为空哈希。

这是来自处理上传器的控制器:

{"session_id"=>"fa12222657a979c92daf1a04dcec7fa8", "_csrf_token"=>"YCN8BvE8+6Vxc2PWgpOvZBhYufKdsTfEnJVkbTSdWHI=", "warden.user.user.key"=>["User", [20], "$2a$10$JCkVLxybPQYclyp2t1gnpu"], "object_params"=>{}}

同样,这只发生在 IE8 和 IE9 中。

关于如何调试的任何想法?

其他资源:
Rails Carrier Wave with JQuery Uploader

【问题讨论】:

    标签: ruby-on-rails-3 uploadify


    【解决方案1】:

    我不得不把它写成一个 IE 问题。最终对 IE 使用标准 Uploadify 表单,对其他所有内容使用我的自定义图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多