Допустим, у меня есть две модели (Model1 и Model2), которые используют один и тот же контроллер, обе имеют много экземпляров Model3.
Как я могу вложить модель 3 в обе модели и иметь маршрут: model
вместо model_2_model_3_path(@model)
path(@model)model_1_model
и model_2_model_3_path(@model)
path(@model)model_2_model_3_path(@model)
Я хочу, чтобы моя функция model_3_path(@model)
выглядела так:
def model_3_path(model)
if model.is_a? Model1
"/model1/#{model.id}/model3"
elsif model.is_a? Model2
"/model2/#{model.id}/model3"
end
end
Мой текущий прогресс:
concern :three { resources :model3, shallow: true }
resources :model1, concerns: :three
resources :model2, concerns: :three, controller: :model1, except: [:index] # /model2 isn't permitted
Я не могу найти правильный подход...