【问题标题】:Sessions in Rails 4Rails 4 中的会话
【发布时间】:2013-02-06 02:19:38
【问题描述】:

如果 ActiveRecord::Store 已被弃用,建议的维护会话方法是什么?加密cookie存储是新标准吗?如果你想保持 >4kb 的状态怎么办?

【问题讨论】:

    标签: ruby-on-rails session rails-activerecord ruby-on-rails-4


    【解决方案1】:

    在 Rails 4 中,在 Gemfile 中包含gem 'activerecord-session_store' 并运行捆绑安装。按照https://github.com/rails/activerecord-session_store注解完成迁移和配置。

    另一种选择是使用“dalli”gem 进行会话管理。

    【讨论】:

      【解决方案2】:

      在您的config/initializers 文件夹中查找名为session_store.rb 的文件。在那里你应该设置你想使用哪种会话。一个标准的,基于 cookie 的,应该是这样的:

      ProjectName::Application.config.session_store :cookie_store, key: '_project_name_session'
      

      之后,您需要做的就是在控制器中调用哈希 session。您可以在那里设置任何值,它会在请求之间持续存在。

      Rails Guides

      config.session_store 通常在 config/initializers/session_store.rb 中设置,并指定使用什么类来存储会话。可能的值是 :cookie_store (默认值)、:mem_cache_store 和 :disabled。最后一个告诉 Rails 不要处理会话。也可以指定自定义会话存储 (...)

      【讨论】:

      • 我很好奇为什么 :active_record_store 被弃用,如果我想在服务器而不是客户端维护状态,最好的选择是什么。
      • 我认为 active_record 存储并没有被弃用,它只是为了增加 Rails 的模块化而被'gemified'。
      猜你喜欢
      • 2015-05-22
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      相关资源
      最近更新 更多