为什么不推荐使用Rails Inflector模块?

时间:2009-01-26 21:37:18

标签: ruby-on-rails ruby

我查看了inflector下的Rails文档,发现了这条消息......

  

模块已弃用

     

在最新稳定版本的Rails上不推荐使用此模块。此处显示了最新的现有版本(v2.1.0)。

没有任何进一步细节的解释或参考。

我记得看过一个Rails Trac网站。我把它追了下去,发现它也被弃用了。它引用了我Lighthouse

我在那里找到了一些信息--Rails核心团队不接受inflections.rb的补丁。但它并没有真正解释弃用信息。背后的故事是什么?

3 个答案:

答案 0 :(得分:5)

您可以查看this post以获得解释。

答案 1 :(得分:4)

我现在正在查看inflector.rb的Edge Rails源代码,我看不出有什么要说它已被弃用 - 你从哪里获得这些信息?

不接受修补程序,因为它们可能会破坏依赖于错误变形的遗留代码。您可以通过访问Inflector.inflections产生的单例实例来添加自己的规则,如下所示:

ActiveSupport::Inflector.inflections do |inflect|  
  inflect.irregular 'person', 'people'
  inflect.uncountable 'rails'
end

答案 2 :(得分:2)

两个独立的问题在起作用。不会修补变形以纠正错误以保护不正确变形的遗留用途,但更重要的是,变形从2.2.1开始被移入ActiveSupport

请参阅2.2.1 here与2.2.1之前的here