Rails中的助手4

Jav*_*cia 4 helpers ruby-on-rails-4

我在Rails中编写了一个应用程序,它正在快速增长,并且我正在学习它.但是我不了解助手.

application_helper.rb

module ApplicationHelper
    # This file it's empty
end
Run Code Online (Sandbox Code Playgroud)

users_helper.rb

module UsersHelper

    def avatar
        # Do something
    end
end
Run Code Online (Sandbox Code Playgroud)

customer_helper.rb

module CustomerHelper
    # This file it's empty
end
Run Code Online (Sandbox Code Playgroud)

为什么在任何客户的视图中都可以在用户帮助模块上调用头像辅助方法?那么,为什么在许多文件中分离助手呢?

提前致谢.

PS:Rails的第4版.

Mik*_*ell 7

因为默认情况下所有控制器都包含在所有控制器中.在这种情况下,单独的文件实际上仅用于逻辑分离.您可以改变该行为:

默认情况下,每个控制器都包含所有帮助程序.

在以前版本的Rails中,控制器将包含一个名称与控制器名称匹配的帮助程序,例如,MyController将自动包含MyHelper.要将旧行为设置 config.action_controller.include_all_helpersfalse.

http://api.rubyonrails.org/classes/ActionController/Helpers.html