如何使用 Rails 在 Cookie 中存储哈希值 3.



我想为登录实现一个记住我选项

因此,我想将用户名和散列密码都存储到 cookie 中,并在用户返回网站时进行检查。

我试着做

cookies[:user] = { :value => {:username => @user.username, :password =>
@user.hashed_password}, :expires => 1.month.from_now }

它保存了cookie,但我无法读取其属性

cookies[:user].username # doesn't work

顺便问一下,这是实施记住我的最佳解决方案吗?

最好使用 session 方法来设置这些东西。 随意使用 config/initializers/session_store.rb 中的默认:cookie_store设置将会话保留在 cookie 中。

session[:user] = { :foo => { :bar => 'woot' } }

然后后来...

session[:user][:foo][:bar] # => 'woot'

根据我所读到的内容,人们只能将字符串存储在 cookie 中。为了存储其他数据结构,需要序列化数据,例如JSON或YAML。

我猜会话对象有这个内置

也许这个答案可以帮助你

最新更新