美文网首页
Rails Cookies与Session操作汇总

Rails Cookies与Session操作汇总

作者: GALAXY_ZMY | 来源:发表于2015-08-09 20:50 被阅读563次

    可以在controller与view中直接通过session与cookies访问,在model中无法访问。

    Session

    #存信息

    session[:current_user_id] = user.id

    #取信息

    session[:current_user_id]

    #删除信息

    session[:current_user_id] = nil

    #清空信息

    reset_session

    ?

    Cookies

    cookies操作稍微有点多,因为关系到明文/加密,过期时长

    1、默认为关闭浏览器,自动过期;明文存储。

    #存信息

    cookies[:id] = "rubyer.me"

    #取信息

    cookies[:id] #输出"rubyer.me"

    #删除信息

    cookies.delete(:key) #与session不同

    #清空信息(不能直接删除,置过期即可)

    <% cookies[:id] = {:expires => 2.weeks.ago.utc} %>

    ?

    2、指定2周后过期

    cookies[:user_preference] = {

    :value => @current_user.preferences,

    :expires => 2.weeks.from_now.utc

    }

    ?

    3、永久存储。实际为20年后过期,非永久

    cookies.permanent[:user_preference] = @current_user.preferences

    ?

    相当于

    cookies[:user_preference] = {

    :value => @current_user.preferences,

    :expires => 20.years.from_now.utc

    }

    ?4、加密存储,key即为config/initializers/secret_token.rb中的Application.config.secret_token

    cookies.signed[:id] = "45"

    #存储结果类似

    cookies[:id] #返回“BAhJIgc0NQY6BkVU--a07249e5ce4374f62b7af628c70c679caa11c10b”

    #读取值

    cookies.signed[:id] #返回"45"

    ?

    5、加密并永久存储

    cookies.permanent.signed[:id] = "45"

    cookies.signed[:id]

    相关文章

      网友评论

          本文标题:Rails Cookies与Session操作汇总

          本文链接:https://www.haomeiwen.com/subject/gshiqttx.html