なぜこれをしたいかによると思います:
ニュース gem でユーザーと管理者を別のコードとして保持したい場合は、おそらく 2 つの名前空間を分離してから、それぞれをマウントする必要があります。
あなたが望むのは(そしてこれがあなたの言いたいことだと思いますか?)ニュースエンジンでコードを共有し、ユーザーがプレーンユーザーか管理者かに基づいてメインアプリケーションの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::Engine で終わる場所user/news
とadmin/news
? 私は実際にそれをしたことがないので、それが可能かどうかはわかりませんが..多分?
これが役立つかどうか教えてください:)乾杯