边学边做ROR(错误ActionDispatch::Cookies::CookieOverflow)
2011-05-17 09:25
316 查看
我在程序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。
<%= 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。
相关文章推荐
- 边学边做ROR( 错误信息error_messages_for was removed from Rails and is now available as a plugin)
- 尝试获取Cookie时出现的错误提示:"A potentially dangerous Request.Cookies value was detected from the client:
- Selenium在添加cookie时“Can only set Cookies for the current domain”错误处理
- 错误 :javax.servlet.ServletException: DispatchMapping[ / configaction ] does not define a handler property
- ajax提交后完全不进入action直接返回错误
- Expecting "jsp:param" standard action with "name" and "value" attributes错误
- Struts – MappingDispatchAction Example
- ASP.NET之Cookie(坑爹的Response.Cookies.Remove)
- Android Studio 错误 com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
- Document.Cookie 取得的Cookies不完整問題
- Fragment嵌套fragment出现的两种错误No view found for id for fragment 与Can not perform this action after onSave
- 在ActionBar中,即便设置showAsAction="always",items仍然在overflow中显示的问题
- 标准的ActionRecord效验错误信息
- MappingDispatchAction 学习
- Axis2 调用.net webservice 出现 服务器未能识别 HTTP 头 SOAPAction 的值错误 的解决办法
- 获取本地cookies出现的错误 sqlite3.DatabaseError: malformed database schema (is_transient) - near "where": syn
- PHP 学习笔记(四):高级教程:Cookies,Sessions,邮件,错误处理,异常处理,过滤器
- Android编译出现com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536错误解决办法
- There is no Action mapped for namespace [/] and action name [xxxxx] associated with context的错误原因
- lession2:使用HTTP Cookie 管理器来传递cookies值