Почему ActiveSupport::Concern повторно запускает NoMethodError?

У меня небольшое приложение, и во избежание дублирования кода я использовал ActiveSupport::Concern, но что-то не так, и я постоянно получаю сообщение:

NoMethodError in Private::MessagesController#index

undefined method `get_messages' for #<Private::MessagesController:0x00007f644687de88>

Приложение работает на

Rails version             5.2.2;
Ruby version              2.5.3-p105 (x86_64-linux);
RubyGems version          2.7.6;
Rack version              2.0.6

в: контроллеры / концерны / messages.rb

require 'active_support/concern'
module Messages
  extend ActiveSupport::Concern
  def get_messages(conversation_type, messages_amount)
  ....
  end
end

в контроллерах / private / messages_controller.rb

class Private::MessagesController < ActionController::Base
  include Messages
  def index
    get_messages('private', 10)
    ....
  end 
end

Я провел много исследований, но мне не удалось решить проблему.

В качестве альтернативы я перенес

def get_messages(conversation_type, messages_amount)

в controllers / private / messages_controller.rb, и это, кажется, работает, но я хочу использовать точно такой же метод в другом контроллере, поэтому было бы лучше, если мне удастся использовать его с ActiveSupport::Concern

Есть идеи?

Большое спасибо!

РЕДАКТИРОВАТЬ:

Я переименовал модуль "Сообщения" в "Сообщения" (и связанные файлы), и теперь все в порядке.

0 ответов

Другие вопросы по тегам