Я думаю, что это зависит от того, почему вы хотите сделать это:
Если вы хотите сохранить пользователей и администраторов, как отдельный код в новостях драгоценный камень - то вы, вероятно, хотите, чтобы изолировать 2 пространств имен, а затем монтируйте каждый из них, что может включать в себя их как отдельные двигатели.
Если вы хотите (и это то, что, я думаю, вы имеете в виду?), Должен иметь общий код в движке новостей, но доступ к нему осуществляется с использованием двух разных URL-адресов в основном приложении на основе того, является ли пользователь простой пользователя или администратора? Что я буду делать в этом случае что-то вроде этого:
в главном приложении
Rails.application.routes.draw do
mount Jnews::Engine => "/app"
end
на маршрутах двигателей
Jnews::Engine.routes.draw do
match "/news", :to => "some_controller#some_action"
match "/admin/news", :to => "some_controller#some_action"
end
А потом в основной приложение, основанное на том, что пользователь (пользователь или администратор) вы можете перенаправить либо на app/news
, либо на app/admin/news
Я надеюсь, что это поможет, я не уверен в выполнении условной маршрутизации.
Однако здесь действительно хороший гид для маршрутизации: http://guides.rubyonrails.org/routing.html
Вы могли бы, возможно, попробовать что-то вдоль линий крепления двигателя с динамической маршрутизацией?
mount Jnews::Engine => ":user_id/news"
, где вы в конечном итоге с Jnew :: Двигатель направляется либо на user/news
и admin/news
? Я никогда этого не делал, поэтому я не знаю, возможно ли это ... может быть?
Дай мне знать, если это поможет :) Cheers