刚刚发现的edge rails中的几个变化

本文介绍了将程序升级到EdgeRails(revision=6688)后的一些关键变更,包括需要安装libopenssl-ruby来解决错误、URL中符号的变化、ActiveRecord对主键缓存行为的改变及Application helper_method的消失等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天把一个程序切换到edge rails(revision=6688),发现了以下变化:

1. 需要安装 libopenssl-ruby,否则会有
[code]`const_missing': uninitialized constant ActionController::Base::DEPRECATED_INSTANCE_VARIABLES (NameError)
[/code]

2. URL中的" ; " 变成了“/”

[code]assert_select "a[href=/pages/#{page.id};edit]" [/code]

要改为
[code]
assert_select "a[href=/pages/#{page.id}/edit]" [/code]

3. AR默认对主键缓存对象实例

在1.2中

[code] ticket = Ticket.find(params[:id])
ticket2 = Ticket.find(params[:id])
ticket.update_attributes(params[:ticket])

ticket.name.should != ticket2.name[/code]

在edge rails中

[code]
ticket = Ticket.find(params[:id])
ticket2 = Ticket.find(params[:id])
ticket.update_attributes(params[:ticket])

ticket.name.should == ticket2.name[/code]

这个变化不用说也清楚,Rails 2.0对性能高度重视。

4. Application::helper_method 不见了

restful_authentication生成的代码中

[code] base.send :helper_method, :current_user, :logged_in?[/code]

会出错,因为找不到helper_method。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值