Tag: 会话

无法在rails控制器上的ruby中设置/使用会话变量

有人可以告诉我从头开始在rails应用程序的ruby中设置/使用会话变量的正确方法。 我无法在两个页面之间的控制器中设置/使用会话变量。 我正在使用CookieStore会话类型。 这是用于设置和获取会话变量的语法: session[:test] = “testing” @test_str = session[:test] 如果我遗失某些事情,请告诉我。 这就是我的控制器的样子: class PaymentsController false end # POST /post_to_mobikwik def post_to_mobikwik zr = Mobikwik::Request.new(params) @mobikwik_data = zr.all_params @test_str = session[:test] render :layout => false end # POST /z_response def z_response zr = Mobikwik::Response.new(request.raw_post) @checksum_check = zr.valid? @mobikwik_post = zr.all_params @statuscode = @mobikwik_post[‘statuscode’] @statusmessage = @mobikwik_post[‘statusmessage’] […]

鉴于会话密钥和秘密,我们如何解密Rails cookie?

我有一个关于Rails如何处理cookie加密/解密的问题。 我在config / environment.rb中有这个 config.action_controller.session = { :session_key => [some key], :secret => [some secret] } 这在config / environment / production.rb等人: ActionController::Base.session_options[:session_domain] = [some domain] 到目前为止,这么好 – 只要我的所有Rails应用程序具有相同的session_key和秘密,并且在同一个域中,它们都可以使用相同的cookie。 但是,一位同事现在有一个JSP应用程序(在同一个域上),他想用它来读取我设置的cookie。 因此,给定一个秘密和加密的cookie值,我们如何解密它以获取该cookie的内容? (文档似乎表明这是默认的单向SHA1加密 – http://caboo.se/doc/classes/CGI/Session/CookieStore.html – 但是我的Rails应用程序将如何读取内容单向加密的cookie?) 提前感谢任何提示/指示/见解, 乔

如何在会话中存储nil用户的目标?

如何在会话中保存用户的目标? 然后,一旦他注册,保存该目标并从会话中删除它? 在主页上它看起来像这样: 目标/ _form.html.erb 单击提交后,应将nil用户的目标添加到他的会话中,然后将其重定向到注册页面,然后将其注册目标添加到他新创建的帐户中。 goals_controller def create @goal = params[:user] ? current_user.goals.build(goal_params) : Goal.new(goal_params) if params[:session][:name][:deadline] session[:name][:deadline] = params[:session][:name][:deadline] redirect_to signup_url elsif @goal.save track_activity @goal redirect_to @goal, notice: ‘Goal was successfully created’ else flash.now[:danger] = ‘Required Field: “Enter Goal”‘ render ‘new’ end end 现在如果我点击提交作为nil用户我得到: NoMethodError in GoalsController#create undefined method `[]’ for nil:NilClass for […]

如何在Rack应用程序中设置/获取会话变量?

use Rack::Session::Pool … session[:msg]=”Hello Rack” 编辑:单词会话似乎没有解决。 我在我的config.ru中包含了Session pool中间件,并尝试在ERB文件中设置一个变量(我正在使用Ruby Serve)并且它抱怨“未定义的局部变量或方法`session’” 谢谢!

Rails 3禁用会话cookie

我在RoR 3上编写了RESTful API。我必须让我的应用程序不发送“Set-Cookie header”(客户端使用auth_token参数进行授权)。 我试过使用session :off和reset_session但它没有任何意义。 我使用devise作为身份validation框架。 这是我的ApplicationController class ApplicationController :session_required? session :off #, :unless => :session_required? skip_before_filter :verify_authenticity_token before_filter :access_control_headers! def options render :text => “” end private def access_control_headers! response.headers[“Access-Control-Allow-Origin”] = “*” response.headers[“Access-Control-Allow-Methods”] = “GET, POST, PUT, DELETE, OPTIONS” response.headers[“Access-Control-Allow-Credentials”] = “true” response.headers[“Access-Control-Allow-Headers”] = “Content-type” end def session_required? !(params[:format] == ‘xml’ or params[:format] […]

在Rails中的会话中存储对象

我一直被教导在会话中存储对象是一个坏主意。 而是应该存储ID,以便在需要时检索记录。 但是,我有一个应用程序,我想知道这个规则的例外。 我正在构建一个flashcard应用程序,被测试的单词位于数据库的表中,其架构不会更改。 我想在会话中存储当前正在进行测验的单词,因此用户可以在他们进入单独页面的情况下完成他们开始的位置。 在这种情况下,是否可以将这些单词作为对象存储在数据库中? 如果是这样,为什么? 我问的原因是因为测验旨在快速移动,而且我讨厌在检索永远不会改变的记录时浪费数据库调用。 但是,也许还有一些我不知道的大型会话的负面影响。 *为了记录,我尝试使用Rails 2.3中的内置memcache方法缓存它,但显然每个项目的最大大小为1MB。