控制器中的Rails辅助模块

时间:2013-12-05 12:11:08

标签: ruby-on-rails ruby helper

我有一个控制器,我想为这个控制器创建一个帮助器,我可以使用它而不包括它。我尝试创建一个与控制器同名的帮助器,如此

class Cars::EnginesController < ApplicationController
  def start_engine
    check_fuel
  end
end

我创建的助手是

module Cars::EnginesHelper
  def check_fuel
    logger.debug("cheking fuel")
  end
end

我得到的错误是

undefined local variable or method `check_fuel' for #<Cars::EnginesController:0x1160e8c80>

我错过了哪些约定?

1 个答案:

答案 0 :(得分:9)

如果你真的想在控制器中使用帮助器方法,你可以将你的助手视为常规的Ruby模块(老实说),然后使用include

class Cars::EnginesController < ApplicationController
  include Cars::EnginesHelper
  # ...
end