我想为登录实现一个记住我的选项
因此我想将用户名和散列密码存储到cookie中,并在用户返回该站点时进行检查。
我试着做
cookies[:user] = { :value => {:username => @user.username, :password =>
@user.hashed_password}, :expires => 1.month.from_now }
它保存了cookie,但我无法读取其属性
cookies[:user].username # doesn't work
顺便说一句,它是实现RememberMe的最佳解决方案吗?
答案 0 :(得分:3)
最好使用session
方法来设置这些类型的东西。您可以使用:cookie_store
中的默认config/initializers/session_store.rb
设置随时将会话保留在Cookie中。
session[:user] = { :foo => { :bar => 'woot' } }
然后......
session[:user][:foo][:bar] # => 'woot'
答案 1 :(得分:3)
从我read开始,人们只能在cookie中存储字符串。为了存储其他数据结构,需要序列化数据,例如JSON或YAML。
我猜Session对象有这个内置的
答案 2 :(得分:-2)
也许this answer可以帮到你