シナリオ:
- 主な Rails アプリケーション
- メインの Rails アプリケーション (routes.rb) にマウントされたさまざまな Rails エンジン
ここで、「Engine」という名前のエンジンがあり、その中に「Topic」という名前のモデルがあるとします。何かのようなものEngine::Topic < ActiveRecord::Base
このエンジン内で、 のインスタンスのルートを生成する必要がある場合はTopic
、次のようにします。
@topic = Engine::Topic.first
# inside helpers/views, i can write the below statement
url_for ([@topic])
# and it will give me exact "show" route for this topic. Like "/engine/topic/1"
# But this works only inside engines. If i write this inside main Application,
# it gives an error "undefined method 'topic_path'"
これを一般化されたパターンにするにはどうすればよいですか?
(さまざまなエンジンからの) 任意のモデルの任意のオブジェクトを持つことができ、そのルートをクリーンな方法で見つけることができるということですか?