【问题标题】:How can I run a controller concern method from the console?如何从控制台运行控制器关注方法?
【发布时间】:2014-11-06 21:02:30
【问题描述】:

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

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>

从控制台实例化时,关注点不会自动添加到控制器吗?

【问题讨论】:

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


    【解决方案1】:

    你可以这样做:

    controller = ActionController::Base::ApplicationController.new
    controller.extend(MyConcern)
    
    controller.concern_method "hello world"
    

    【讨论】:

      【解决方案2】:

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

      include MyConcern
      

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

      concern_method
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-11
        • 1970-01-01
        • 2013-04-07
        相关资源
        最近更新 更多