繁体   English   中英

包括轨道控制器动作

[英]Including rails controller action in concern

是否可以通过关注添加控制器操作?

我试图通过关注包含一个控制器动作,但它没有找到:

module Wizbang
  module ActsAsWizbang
    extend ActiveSupport::Concern

    included do

      def foo
        # do something
      end
    end
end

我已将approprioate路由添加到我的路由文件中,但它无法在控制器上找到该操作。

当我在控制器中包含此代码时

class SimpleController < ApplicationController

  include Wizbang::ActsAsWizbang

end

我收到的消息是:

The action 'foo' could not be found for SimpleController.

如果要定义要混合到类中的方法,只需在模块中定义它们即可。 它们不会进入included块内:

module Wizbang
  module ActsAsWizbang
    extend ActiveSupport::Concern

    def foo
      # do something
    end
  end
end

仔细检查include语句是否正确解析。

我最近得到了这个兔子洞,但我的问题并不在于我做错了 - 这是因为我使用的包含语句不正确,但是这个错误被某种方式吞噬了,而我却看到了这一点。 我最终得到了类似的东西,但你的情况可能会有所不同。

module Api::V1::Concerns
  module Foo
    extend ActiveSupport::Concerns
...


module Api::V1::Bar
  class BazController < ActionController::API
    include Api::V1::Concerns::Foo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM