0
我认为这是一个Ruby差异,但我使用相同的Ruby版本1.8.7。这与this post有关(回答“你为什么需要这个?”)。这个代码在2.2.2Rails 2.2和2.3.5之间的区别? ActionMailer.Utils
Loading development environment (Rails 2.2.2)
>> module ActionMailer
>> Utils.normalize_new_lines("blah")
>> end
但在2.3.5失败
Loading development environment (Rails 2.3.5)
>> module ActionMailer
>> Utils.normalize_new_lines("blah")
>> end
NoMethodError: undefined method `normalize_new_lines' for ActionMailer::Utils:Module
from (irb):2
最新消息关于2.3.5,这会失败?方法是在2.3.5,所以这个作品
Loading development environment (Rails 2.3.5)
>> include ActionMailer
>> include Utils
>> normalize_new_lines("blah")
我知道这可能是一个重要的Rails差异。
此外,我会建议包括模块,而不是恢复旧的行为。如果它发生变化,这是有原因的。恕我直言,实施应遵循图书馆,而不是恢复图书馆遵循我们的实施。否则,未来可能会出现其他问题。 – 2010-02-23 17:49:41
@Simone Carletti,自从我使用“补丁”ActionMailer的插件以来,我在该补丁中添加了“include Utils”。有用。这是一个坏主意吗? @Zetetic谢谢你跟踪这个。我将来更有可能自己阅读源代码。 – 2010-02-23 18:31:11
@yar只要确保你没有包含模块两次。 – 2010-02-23 19:49:31