在Rails中,您可以使用cookies
方法在单独的域上设置cookie。以下是一个简单的示例,说明如何在Rails控制器中设置cookie:
class CookiesController< ApplicationController
def set_cookie
cookies[:my_cookie] = {
value: "This is my cookie value",
domain: ".example.com",
expires: 1.hour.from_now
}
render plain: "Cookie is set"
end
end
在这个示例中,我们创建了一个名为set_cookie
的操作,该操作将在example.com
域上设置一个名为my_cookie
的cookie。value
参数设置cookie的值,domain
参数设置cookie所在的域,expires
参数设置cookie的过期时间。
请注意,为了在单独的域上设置cookie,您需要在domain
参数中包含.
前缀。这是因为浏览器需要知道哪些域应该接收cookie。
您还可以使用cookies.signed
方法设置签名的cookie,以防止客户端对其进行篡改。
class CookiesController< ApplicationController
def set_signed_cookie
cookies.signed[:my_signed_cookie] = {
value: "This is my signed cookie value",
domain: ".example.com",
expires: 1.hour.from_now
}
render plain: "Signed cookie is set"
end
end
在这个示例中,我们创建了一个名为set_signed_cookie
的操作,该操作将在example.com
域上设置一个名为my_signed_cookie
的签名cookie。
总之,要在Rails中的单独域上设置cookie,您可以使用cookies
和cookies.signed
方法,并在domain
参数中包含适当的域名。
领取专属 10元无门槛券
手把手带您无忧上云