所以问题是,这段代码工作得很好:
response["set-cookie"]="cookieName=#{@cookieValue.split.join}"我可以设置一个cookie,具有正确的名称和内容(是的,split.join也是正确的)。但我也需要建立一个域名。
我的网站上有这样的域名:mysubdomain.mywebsite.com
但是我需要为域mywebsite.com设置cookie。
如果我像这样加起来,饼干就不在了:
response["set-cookie"]="cookieName=#{@cookieValue.split.join};Path=/;Domain=mywebsite.com"我需要设置一个具有响应“set - cookie”的cookie,因为它是唯一适用于我的长字符串的方法。我试过了所有的方法,但我需要用这个方法。
因此,问题是:如何通过使用响应“set -cookie”来设置cookie?
发布于 2017-01-23 04:32:24
好吧,更喜欢这里使用初始化器。创建一个新文件config/initializers/cookies.rb,并将以下代码放在那里:
options = {
key: 'your_cookie_name',
domain: 'your_domain'
}
Rails.application.config.session_store :cookie_store, options这将使您的cookie相关的配置在一个地方,尽管,它不是强制性的。您仍然可以使用domain选项为cookie指定域名。
发布于 2017-01-23 16:04:40
我没能做到这一点。我认为Rails有一些安全机制来防止这一点(但是从子域为域设置cookie是正确的)。
但我能够通过javascript做到这一点:
document.cookie = "#{@cookieName}=#{@cookieContent};domain=yourdomain.com"一行代码,工作得很好。只需将其放在您的视图中或分离文件,并在application.js中要求它,我在子域中,但最终可以为父域设置cookie。
https://stackoverflow.com/questions/41798957
复制相似问题