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

问题描述 投票:2回答:2

例如,如果我有一个控制器关注。

module MyConcern

  def concern_method param
    puts param.inspect
  end

end

我怎样才能测试这个方法 concern_method 从控制台?

使用这里描述的方法。如何在Rails中从控制台调用controllerview方法? 我可以使用以下方法访问应用程序控制器。

controller = ActionController::Base::ApplicationController.new

...但这会引发一个错误。

controller.concern_method "hello world"

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

当从控制台实例化控制器时,是否没有自动将关注添加到控制器中?

ruby-on-rails ruby-on-rails-4
2个回答
4
投票

你可以这样做。

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

controller.concern_method "hello world"

0
投票

要在Rails 6控制台中访问一个关注点,首先在控制台中运行include。

include MyConcern

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

concern_method
© www.soinside.com 2019 - 2024. All rights reserved.