Я думаю, вы спрашиваете, можете ли вы определить маршруты для каждого, используя только одну модель, верно?
Есть два варианта:
Во-первых, самый простой способ: просто определитьмаршрут дважды.
resources :houses do
resources :comments
resources :chairs do
resources :comments
end
end
Файл маршрутов не будет заботиться о том, что вы говорите, что модель комментариев можно получить из двух мест, и она будет работать в основном так, как вы ожидаете - представления будут житьв папке 'comments'.
Второй, более сложный способ сделать это, определить пространство имен , в которое вы хотите вложить.Тогда вы получите два контроллера: CommentsController
и Chairs::CommentsContoller
.Вы также можете создать два набора представлений, но вам это не нужно (второй контроллер может просто явно отображать представления первого контроллера).
Для хорошего объяснения того, как будет работать пространство имен, вы можете увидеть ответ, в котором я изначально узнал об этом .
Этот второй подход хорош тем, что он стоит, потому что вы можете внести некоторые незначительные изменения в представление модели в зависимости от того, как к ней обращаются,но у вас все еще есть только одна модель в БД.
Удачи!Я буду рад ответить на вопросы в комментариях!