如何从控制台运行控制器关注方法?

时间:2014-09-12 16:05:58

标签: ruby-on-rails ruby-on-rails-4

如果我有控制器问题,例如:

module MyConcern

  def concern_method param
    puts param.inspect
  end

end

如何从控制台测试方法concern_method

使用此处描述的方法: How do I call controller/view methods from the console in Rails?我可以使用以下方式访问应用程序控制器:

controller = ActionController::Base::ApplicationController.new

...但是这会引发错误:

controller.concern_method "hello world"

NoMethodError: undefined method `concern_method`  for #<ApplicationController:0x000001091fbad0>

当从控制台实例化时,问题是否未自动添加到控制器?

2 个答案:

答案 0 :(得分:4)

你可以这样做:

controller = ActionController::Base::ApplicationController.new
controller.extend(MyConcern)

controller.concern_method "hello world"

答案 1 :(得分:3)

要访问Rails 6控制台中的问题,请首先在控制台中运行include

include MyConcern

然后在控制台中运行您的方法

concern_method
相关问题