Делаю API для GET запросов.
Задача была открывать конкретную страницу не по ID, а по определенному номеру, соответствующей столбцу в БД.
На локальном компьютере работает нижеприведенная схема корректно.
После деплоя на сервер и попытке открыть страницу по some_id_number получаю:
Completed 500 Internal Server Error in 13ms (ActiveRecord: 0.0ms)
NoMethodError (undefined method `find_by_slug' for Class:.....
Did you mean? find_by_sql
В консоли на локалке по some_id_number все работает, страницу находит правильную.
На сервере выдает тоже самое undefined method.
База данных на локалке и на продакшене PostgreSQL одинаковых версий.
Подскажите, в чем может быть причина?
Контроллер:
module Api
module V1
class PagesController < ApplicationController
def show
@page = Page.find_by_slug(params[:some_id_number])
render json: { status: 'SUCCESS', message: 'loaded', somenumber: @page.some_id_number, pid: @page.id }, status: :ok
end
end
end
end
Роуты:
namespace :api do
namespace :v1 do
resources :pages, only: :show, param: :some_id_number
end
end