草庐IT

zend-session-namespace

全部标签

ruby-on-rails - 模型测试中未定义局部变量或方法 'session'

我正在创建一个RubyonRails应用程序,并尝试运行涉及我的用户模型的测试,以查看“记住我”功能是否有效。我正在使用Rails的内置cookies散列来存储cookie,并使用session散列来存储当前session。我在使用session变量的地方运行了各种测试(集成、模型和Controller),但出于某种原因,在这种特殊情况下它没有被识别。NameError:undefinedlocalvariableormethod`session'for#错误发生在下面log_in_as方法的elseblock中:test_helper.rb...deflog_in_as(user,o

ruby - Rack Session Cookie 和 Sinatra - 设置和访问数据

我使用的是RackSessionPool,但是我的用户会从一个Web服务器线程被踢到另一个线程,从而导致session数据过期。我开始只是在Sinatra中启用:sessions来玩弄,但是我无法使用它,因为我有多个使用Sinatra的应用程序(它似乎正在使用相同的key-不确定这是否是因为它是同一主机)因为我的应用程序会互相破坏,所以我现在正在尝试RackSessionCookie并设置变量(与启用:sessions相同,但您可以设置变量)太棒了!但是现在我无法按照我在RackSessionPool和enable:sessions中使用它的方式访问session数据session[:

ruby - 如何使用 sinatra session

enable:sessionsget'/foo'dosession['m']='HelloWorld!'redirect'/bar'endget'/bar'dosession['m']#=>'HelloWorld!'end好像不行。 最佳答案 你在用霰弹枪吗?如果是这样,请执行以下操作:configure(:development){set:session_secret,"something"}这在Sinatra1.3中将不再是必需的。 关于ruby-如何使用sinatrasession

ruby-on-rails - rails 路线 : define root to namespace

我有2个Controller:app//controllersposts_controllers.rb/mobileposts_controllers.rb我的routes.rb看起来像这样:root:to=>"posts#index"resources:postsnamespace:mobiledoroot:to=>"posts#index"resources:postsend但是当我访问/mobile时,它无论如何都会渲染第一个Controller的索引页面,也试过这个:namespace:mobiledoroot:to=>"mobile/posts#index"resources

ruby - before_session Hook 失败:Pry::CommandError:找不到此方法:加载

在Ruby脚本中加载PryREPL我得到了这个奇怪的错误:before_sessionhookfailed:Pry::CommandError:Cannotlocatethismethod:load.~/.rvm/gems/ruby-2.0.0-p195/gems/pry-0.9.12.2/lib/pry/method.rb:498:in`pry_doc_info'(see_pry_.hooks.errorstodebug)知道问题出在哪里吗?注意事项:1.除了那个神秘的消息之外,代码似乎执行得很好,并且2.我找不到“_pry_.hooks.errors”文件

ruby-on-rails - 如何解决 Rails 模型 namespace 冲突

到目前为止的故事:我有一个Rails应用程序,其模型名为“Term”。在尝试安装Cucumber之前一切都很好。运行时rakecucumber我明白了Termisnotaclass(TypeError)发生这种情况是因为Cucumber包含另一个gem,'term-ansicolor'(在控制台中执行漂亮的彩色文本输出),并且term-ansicolor定义了一个名为“Term”的模块。Cucumber在包含Rails模型之前包含term-ansicolor,因此在加载“Term”模型时“Term”已经被定义为一个模块。顶级模块和类在Ruby中不能有相同的名称,因此会发生冲突。不想重命

ruby-on-rails - 使用 ruby​​ mechanize 在浏览器中存储登录 session cookie

我正在尝试登录网站并通过Rails操作重定向到安全页面。我的代码看起来像这样。defredirect_to_externalagent=Mechanize.newpage=agent.get('http://example.com/home.asp')login_form=page.form_with(:name=>"loginForm")login_form.login='username'login_form.password='password'agent.submit(login_form)#cookies=agent.cookie_jar.store.map{|i|i}#ne

ruby - Rack::Session::Pool 与 Sinatra

我有一个使用enable:sessions构建的Sinatrawebapp,我使用session[:mything]访问我的session数据。我现在想在服务器端存储数据(即使用基于数据库的session),但我不知道如何使用Rack::Session::Pool,这似乎是我需要使用的东西。我如何着手转换我的网络应用程序以与Pool一起使用?我知道我需要添加行useRack::Session::Pool接下来会发生什么?—提前致谢!编辑:这是一个使用基于cookie的session的示例:require'rubygems'require'sinatra'enable:sessionsg

ruby-on-rails - 阅读 Rails session secret 的最佳方式是什么?

我想以编程方式访问Railssessionsecret(我正在使用它来生成登录token)。这是我想出的:ActionController::Base.session.first[:secret]这将返回sessionsecret。但是,每次调用ActionController::Base.session时,它都会向数组中添加另一个条目,因此您最终会得到如下内容:[{:session_key=>"_new_app_session",:secret=>"totally-secret-you-guys"},{},{},{},{},{},{},{},{},{},{},{},{}]我觉得这不太

ruby-on-rails - 如何将 Rails session cookie 过期时间设置为 "session"

我对Rails中不在表面上的部分不是很有经验。我想要的只是有一个sessioncookie,其过期时间设置为session,这样当用户离开浏览器或其他任何东西时它就会过期。作为安全措施。 最佳答案 默认情况下,cookie是sessioncookie。通过在config/initializers/session_store.rb中提供选项散列,您可以完全控制cookie。选项与Rack::Session::Cookie(seedocs)相同。因此,例如,对于特定的到期日期,您可以提供:expire_after。如果您使用Devise