Ruby on rails 如何在响应中设置域[“设置cookie”]
问题是,这段代码运行得非常好:Ruby on rails 如何在响应中设置域[“设置cookie”],ruby-on-rails,ruby,cookies,Ruby On Rails,Ruby,Cookies,问题是,这段代码运行得非常好: response["set-cookie"]="cookieName=#{@cookieValue.split.join}" 我可以用正确的名称和内容设置cookie(是的,split.join也正确)。但我也需要设置一个域 我的网站的域名如下:mysubdomain.mywebsite.com 但是我需要为域名mywebsite.com设置cookie 如果我这样添加,cookie就不存在了: response["set-cookie"]="cookieNam
response["set-cookie"]="cookieName=#{@cookieValue.split.join}"
我可以用正确的名称和内容设置cookie(是的,split.join也正确)。但我也需要设置一个域
我的网站的域名如下:mysubdomain.mywebsite.com
但是我需要为域名mywebsite.com设置cookie
如果我这样添加,cookie就不存在了:
response["set-cookie"]="cookieName=#{@cookieValue.split.join};Path=/;Domain=mywebsite.com"
我需要用response[“set cookie”]设置cookie,因为它是唯一适用于我的长字符串的方法。我尝试了各种方法,但我需要使用这种方法
所以问题是:如何使用response[“set cookie”]设置cookie来设置域?好吧,我更喜欢在这里使用初始值设定项。创建一个新文件
config/initializers/cookies.rb
,并将以下代码放在那里:
options = {
key: 'your_cookie_name',
domain: 'your_domain'
}
Rails.application.config.session_store :cookie_store, options
这将使您的cookie相关配置在一个位置,尽管这不是强制性的。您仍然可以使用
domain
选项为您的cookie指定域名。我无法使其正常工作。我认为Rails有一些安全机制可以防止这种情况(但从子域为域设置cookie是正确的)
但我可以通过javascript实现这一点:
document.cookie = "#{@cookieName}=#{@cookieContent};domain=yourdomain.com"
一行代码,工作完美。只需将其放在您的视图中,或将其分离并在application.js中要求它。我在子域上,但最终可以为父域设置cookie。谢谢,但请阅读问题。我不想为我的主cookie设置域。就为了那个。我需要使用response[“set cookie”]就像
response
一样,您可以访问cookies
对象来设置响应cookies<代码>[在此处阅读更多内容]()。请重新阅读。我知道cookies[“cookieName]等。我必须使用response[“set cookie”]你能说得具体点吗?我已经阅读了文档。如果它能回答我的问题,我就不会这样问了。谢谢。