在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.