Думаю, проблема в том, что Rails использует Object#send
для вызова методов контроллера по имени, но у вас есть свой собственный метод send
.В глубине системы маршрутизации Rails он знает, что ему следует направить GET /contact
к методу, имя которого - строка 'index'
;код для этого будет выглядеть примерно так:
controller_instance = an_instance_of_ContactController_from_somewhere
controller_method = 'index' # This string will be extracted from the `get 'contact', to: '...'` call in routes.rb
controller_instance.send(controller_method)
Вы сможете переименовать свой метод send
во что-то другое, обновить свой routes.rb
, и все должно быть в порядке;например:
post 'contact', to: 'contact#send_message'
, а затем в contact_controller.rb
:
def send_message
#...
end