2013-02-20 60 views
1

我有一个Rails 3.2.8和Ruby 1.9.3应用程序。在IE或Firefox中不起作用的饼干

我试图设置cookie,像这样:

cookies['role'] = { 
     :value => params['commit'], 
     :expires => Time.now + 30.days, 
    } 

它工作在铬罚款,但IE和Firefox似乎完全无视这一点。在IE上,我关闭了我的隐私设置以允许所有的cookies,而且什么都不做。我的子域没有下划线,这是我能找到的与我的问题有关的唯一解决方案。

域名是:projects.mikksdesign.com

只是一个简单的小应用程序。一旦你选择了项目经理或开发人员,它应该保存一个角色设置为“pm”或“dev”的cookie。虽然没有发生......

任何想法都会很棒!

感谢

+2

与您的问题无关的问题: 如果您的应用程序可以通过互联网访问,您应该*真的*将您的Rails版本升级到最新版本(3.2.12 for 3.2.x分支)。在过去的2个月中,有几个安全问题。 – Deradon 2013-02-20 22:41:36

+0

奇怪。这应该工作。你可以尝试添加“:domain =>:all”来查看是否修复它,但我怀疑它会。 – 2013-02-20 23:22:45

+0

@Deradon - 这真的是很好的信息,我会这么做的!谢谢! – Sean 2013-02-21 16:45:48

回答

0

确定,以及事实证明,这是不相关的cookie的,而是相关的形式提交。我有两个提交按钮,每个按钮都有一个唯一的值。在控制器中,它正在寻找param ['commit'],并根据该提交设置cookie值。不要问我为什么这不是跨浏览器,但事实证明,我只有这个在Chrome中工作。我改变了我对基于路线的参数进行处理的方式,而只是将这些图像链接起来。没有更多的cookie问题!

所以我想我跳了枪。该cookie没有设置,因为它从来没有进入块设置它(如果params ['commit'])

感谢您的帮助家伙!