为什么rails帮助器不是面向对象的呢?

Tom*_*man 4 oop ruby-on-rails helpers

例如,为什么日期帮助器的写法如下:

time_ago_in_words(@from_time)
Run Code Online (Sandbox Code Playgroud)

而不是像这样:

@from_time.time_ago_in_words
Run Code Online (Sandbox Code Playgroud)

这是一个明确的设计错误/不一致吗?或者有什么理由吗?

Sar*_*Mei 5

助手是视图对象上的方法,而不是它们正在显示的对象.这在OO意义上是有意义的,因为视图以特定格式显示数据,因此它负责将模型转换为该格式.