Почему 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
Есть идеи?
Большое спасибо!
РЕДАКТИРОВАТЬ:
Я переименовал модуль "Сообщения" в "Сообщения" (и связанные файлы), и теперь все в порядке.