如果我有控制器问题,例如:
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>
当从控制台实例化时,问题是否未自动添加到控制器?
答案 0 :(得分:4)
你可以这样做:
controller = ActionController::Base::ApplicationController.new
controller.extend(MyConcern)
controller.concern_method "hello world"
答案 1 :(得分:3)
要访问Rails 6控制台中的问题,请首先在控制台中运行include
include MyConcern
然后在控制台中运行您的方法
concern_method