Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby rails 3 swf_上载无效验证登录并发送cookie会话_Ruby_Ruby On Rails 3_Swfupload_Middleware - Fatal编程技术网

Ruby rails 3 swf_上载无效验证登录并发送cookie会话

Ruby rails 3 swf_上载无效验证登录并发送cookie会话,ruby,ruby-on-rails-3,swfupload,middleware,Ruby,Ruby On Rails 3,Swfupload,Middleware,我有一个swfupload在rails 3上使用回形针(终于!) 我使用控制器中的以下行关闭了autehnticitytoken: skip_before_filter :verify_authenticity_token, :only => :create 我知道我正在努力使会话正常工作(flash不会发送此消息) 当然,我在谷歌上搜索了我的屁股,但到目前为止没有运气。 这是我的观点(部分) 谁能帮帮我!现在真的卡住了 这可能是因为“会话密钥”改为“密钥”。下面是这个对我有用的更新 r

我有一个swfupload在rails 3上使用回形针(终于!) 我使用控制器中的以下行关闭了autehnticitytoken:

skip_before_filter :verify_authenticity_token, :only => :create
我知道我正在努力使会话正常工作(flash不会发送此消息) 当然,我在谷歌上搜索了我的屁股,但到目前为止没有运气。 这是我的观点(部分)

谁能帮帮我!现在真的卡住了

这可能是因为“会话密钥”改为“密钥”。下面是这个对我有用的更新

require 'rack/utils'
class FlashSessionCookieMiddleware
  def initialize(app, key = '_MYAPP_session')
    @app = app
    @key = (key || '_MYAPP_session')
  end

  def call(env)
    if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
      params = ::Rack::Utils.parse_query(env['QUERY_STRING'])
      unless params[@key].nil?
        env['HTTP_COOKIE'] = "#{@key}=#{params[@key]}".freeze
        # puts "env['HTTP_COOKIE'] #{env['HTTP_COOKIE'].inspect}"
      end
    end
    @app.call(env)
  end
end
此外,在设置javascript变量时,您还需要检查以确保javascript使用的是
ActionController::Base.session\u options[:key]
的“key”而不是“session\u key”

这可能是因为“会话密钥”改为“密钥”。下面是这个对我有用的更新

require 'rack/utils'
class FlashSessionCookieMiddleware
  def initialize(app, key = '_MYAPP_session')
    @app = app
    @key = (key || '_MYAPP_session')
  end

  def call(env)
    if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
      params = ::Rack::Utils.parse_query(env['QUERY_STRING'])
      unless params[@key].nil?
        env['HTTP_COOKIE'] = "#{@key}=#{params[@key]}".freeze
        # puts "env['HTTP_COOKIE'] #{env['HTTP_COOKIE'].inspect}"
      end
    end
    @app.call(env)
  end
end
此外,在设置javascript变量时,您还需要检查以确保javascript使用的是
ActionController::Base.session\u options[:key]
的“key”而不是“session\u key”

require 'rack/utils'
class FlashSessionCookieMiddleware
  def initialize(app, key = '_MYAPP_session')
    @app = app
    @key = (key || '_MYAPP_session')
  end

  def call(env)
    if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
      params = ::Rack::Utils.parse_query(env['QUERY_STRING'])
      unless params[@key].nil?
        env['HTTP_COOKIE'] = "#{@key}=#{params[@key]}".freeze
        # puts "env['HTTP_COOKIE'] #{env['HTTP_COOKIE'].inspect}"
      end
    end
    @app.call(env)
  end
end