【发布时间】:2014-02-23 21:58:42
【问题描述】:
我用 Rails 编写了一个应用程序,它发展迅速,我正在学习它。但我不了解助手。
application_helper.rb
module ApplicationHelper
# This file it's empty
end
users_helper.rb
module UsersHelper
def avatar
# Do something
end
end
customer_helper.rb
module CustomerHelper
# This file it's empty
end
为什么在任何客户看来都可以在用户助手模块上调用头像助手方法? 那么,为什么要在许多文件中分开帮助器呢?
提前致谢。
P.S:Rails 的第 4 版。
【问题讨论】:
-
你确定你的 users_helper 是这样定义的:
module ApplicationHelper?如果是这样,那么您已经在ApplicationHelper模块中定义了 avatar 方法,这就是它起作用的原因。 -
对不起,示例写错了。
-
我假设你写错了问题?并且 users_helper 有:
UsersHelper,对吗? -
将你的助手分割成不同的文件会让你的代码更干净。当存在三个空文件时,您可能不会注意到,但您的应用程序可能会增长,然后您会感谢某些结构而不是一个大文件。默认情况下,每个视图都可以访问任何助手。