Getting Started with Ruby on Rails

本文探讨了在使用Ruby on Rails进行Web应用开发过程中遇到的一些常见问题及其解决办法,包括编码问题、路由配置、session存储配置及数据库字段调整等。

1.)一个不确定性修改"WARN Could not determine content-length of response body":

http://michael-roshen.iteye.com/blog/1612848

2.)关于routes.rb的疑问,为什么我使用rails generate没有自动更新route呢?导致无法映射,还好官方有文档:http://guides.rubyonrails.org/routing.html
关于hello.html.erb的中文编码问题:

http://stackoverflow.com/questions/6731071/rails-and-html-encoding-error

将文件格式保存为UTF-8即可。
undefined method `key?' for nil:NilClass
不是什么语法错误,就是不能输中文,保存成UTF-8也无济于事。更跟下面这句话半毛钱关系都没有:
if price.nil ? || price < 0.01
3.)照书上的方法(第三版)写了下面这一行在config/environments/development.rb目录下(看样子路径变了):
config.action_controller.session_store = :active_record_store

于是在environment.rb里写道:

Depot::Application.config.session_store = :active_record_store

4.)虽然重启没报错,但是貌似cookie没有存到sessions表里去。
纳尼?Rails3改动这么大,session存储的配置放在了config\initializers\session_store.rb,坑跌啊~
In Rails 3 you have to do NameOfYourApp::Application.config.session_store :mongoid_store without the "=" in config/initalizers/session_store.rb


把cookie_store改成:active_record_store

5.)OK!成功保存到sessions表,最好建成memory表。建内存表时发现的一个问题:

root@localhost  :[depot_development]<11:13:38>alter table sessions modify data varchar(21582);
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

原来utf8类型最大只能到21581,超过一点点就报错,但是超过很多的话就不会报错而是自动转为mediumtext类型了。。

才发现保存到数据库还有一个好处是,所有浏览器之间的状态可以共享,这个大部分是优点,但有时候会是不顺手的地方~

6.)button_to方法生成的是表单按钮,所以route配置得用post方式:post "store/add_to_cart"

转载于:https://my.oschina.net/cwalet/blog/111715

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值