2013-02-20 62 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'])

感謝您的幫助傢伙!