在Rails 4.2.4中使用控制器中的帮助器

我对这里读到的rails文档感到困惑。 特别是这句话:

默认情况下,每个控制器都包含所有帮助程序。 这些助手只能通过.helpers在控制器上.helpers

这是什么。它指的是什么? 我在app/helpers/areas_helper.rb定义了一个帮助app/helpers/areas_helper.rb

 module AreasHelper def my_helper puts "Test from helper" end end 

我想在app/controllers/locations_controller.rb使用这个帮助app/controllers/locations_controller.rb

 class LocationsController < ApplicationController def show helpers.my_helper end end 

但是,我得到一个方法未定义错误。 怎么这个.helpers应该被使用?

我知道还有其他方法可以访问控制器中的帮助程序,但我特别询问这篇文档以及它想说的内容。

您打算在控制器中包含帮助程序类:

 #app/controllers/locations_controller.rb class LocationsController < ApplicationController include AreasHelper def show my_helper end end 

此function是在Rails 5中引入的,具有以下PR https://github.com/rails/rails/pull/24866

因此,我们可以使用Rails 5及更高版本中的此function,而不是Rails 4.x.