邊學邊做ROR(錯誤ActionDispatch::Cookies::CookieOverflow)

我在程序html.rb中代碼如下:
<%= button_to "Add to Cart" , :action => 'add_to_cart', :id => product %>
嵌套在一個循環裏
但是跑出來的畫面,有3筆數據,源代碼分別指向的url是add_to_cart/2,add_to_cart/4,add_to_cart/3。
我點第二個鏈接的時候報的錯。

那麼,我首先去調查一下是否把session存入了數據庫中。在命令行查詢sqlite3:
要進入所建工程的目錄下,有個db文件夾,在最初安裝sqlite3時默認安裝了名爲development.sqlite3的數據庫,因此要通過命令行進入該庫:
>cd db
db>sqlite3 development.sqlite3
sqlite>.tables  查看下該庫下創建了幾張表
sqlite>select * from sessions
看到是空表。於是,在/config/initializers下打開session_store.rb,將最後一句註釋放開,如下:
Depot::Application.config.session_store :active_record_store
重啓服務後,發現這個Cookies的溢出錯誤解決了。
然後查詢一下sessions表,有數據了。
後來查了一下,cookie的大小有4k的限制,如果超過了4k,rails就會報錯:Cookies::CookieOverflow。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章