我想为登录实现一个记住我选项
因此,我想将用户名和散列密码都存储到 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。
我猜会话对象有这个内置
也许这个答案可以帮助你