Я хотел бы использовать модель в моем файле routes.rb
без фактического вызова константы модели. Намерение состоит в том, чтобы не вызывать Rails проверять базу данных при доступе к файлу маршрутов, так как это как-то вызывает непредвиденное поведение во время пограничного случая немигрированного сервера, описанного ниже.
Пока у меня есть строка кода, которая использует константу модели, но я только закомментировал ее перед первой миграцией, и она отлично работает. Но я чувствую, что может быть лучше, поэтому я хотел бы знать: есть ли другие способы использования метода из модели без использования константы модели в файле маршрута?
В настоящее время мой файл маршрутов выглядит так:
Rails.application.routes.draw do
# …
get 'universal' => 'novels#edit', defaults: { id: Novel.fetch_universal.id }
end
Хотя этот файл отлично работает после миграции, строка с константой имени модели Novel
должна быть закомментирована, прежде чем любая база данных новая может быть перенесена. Если это не закомментировано, то rails попытается проверить таблицу романов в базе данных перед любым действием базы данных (даже включая удаление базы данных с помощью rake db:drop
) и выдаст ошибку, что таблица «романы» не найдена.