在 rails 中怎么操作 cookies csdn
1个回答
2016-09-27 · 知道合伙人软件行家
关注
展开全部
Rails通过cookies方法来操作cookie,这和session的操作有点类似
[ruby] view plain copy
class CommentsController < ApplicationController
def new
# 假如cookie中有评论者的姓名,则自动调用
@comment = Comment.new(author: cookies[:commenter_name])
end
def create
@comment = Comment.new(params[:comment])
if @comment.save
flash[:notice] = "Thanks for your comment!"
if params[:remember_name]
# 设置cookie
cookies[:commenter_name] = @comment.author
else
# 删除cookie中的变量
cookies.delete(:commenter_name)
end
redirect_to @comment.article
else
render action: "new"
end
end
end
这里需要注意的是,和操作session不一样,删除cookie中的变量时不能简单的设置值为nil,而是需要显示的调用cookie.delete(:key)方法
[ruby] view plain copy
class CommentsController < ApplicationController
def new
# 假如cookie中有评论者的姓名,则自动调用
@comment = Comment.new(author: cookies[:commenter_name])
end
def create
@comment = Comment.new(params[:comment])
if @comment.save
flash[:notice] = "Thanks for your comment!"
if params[:remember_name]
# 设置cookie
cookies[:commenter_name] = @comment.author
else
# 删除cookie中的变量
cookies.delete(:commenter_name)
end
redirect_to @comment.article
else
render action: "new"
end
end
end
这里需要注意的是,和操作session不一样,删除cookie中的变量时不能简单的设置值为nil,而是需要显示的调用cookie.delete(:key)方法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询