最近 Edge Rails 中没有什么值得注意的大更改或功能,因此,这次我会让您仔细研究一下 Rails 提交日志 中我未指出的所有错误修复或小更改。ActionPack 重构和多线程工作以及 ActiveModel 中的一些活动中有一些在进行中的工作,但还没有真正的具体成果(还正在进行中)。
和往常一样,请务必在评论中留下任何建议和批评。
现在,script/server
将检查 Thin 的可用性并使用 Thin。如果您使用 Thin 作为生产服务器(并在开发时想要运行相同的 Thin),这样做非常方便。首先,必须将 config.gem 'thin'
添加到 environment.rb
中才能使其正常工作。
此补丁是由 fluxin 的一位成员贡献的。
String#humanize
核心扩展方法用于转换其中包含下划线的字符串,通常是表列名,以形成可轻松阅读的文本。例如:
"actor_salary".humanize
=> "Actor salary"
"anime_id".humanize
=> "Anime"
不过,当您使用传统表或简单地以“非人性”形式命名列名(例如“act_sal_money”,这实际上是“Actor salary”,但会将 #humanize-d
转换为“Act Sal Money”)时,有时这种方法并不是很管用。
现在,您可以指定自定义变格规则(就像您对复数/单数/不规则/不可数变格规则执行的操作一样)
Inflector.inflections do |inflect|
inflect.human /_cnt$/, '\1_count'
inflect.human 'act_sal_money', 'Actor Salary'
end
请注意,您还可以使用上述正则表达式来将“click_cnt”之类的列转换为“Click count”。
感谢 Dan Manges 和 Pascal Ehlert 提供此补丁。
Pratik 对 ActiveRecord 提交了一个微小的(但非常有用的)更改,它允许您在哈希中指定对联接表的条件。一个示例可以更好地说明这一点
Anime.all(
:joins => :character,
:conditions => {
:active => true,
:characters => { :gender => 'female' }
}
)
上述 ActiveRecord 查询将找到所有“active”动漫及其“female”角色。
本周的前沿体验到此结束 - 请告诉我,您是否希望看到更多有关即使是最小的错误修复和更改的文章,而这正是本周文章中没有提到的。