4

ドアキーパー ビューでアプリケーション レイアウトを使用したい:

https://github.com/applicake/doorkeeper/wiki/Customizing-views

これには、メイン アプリケーションからのルートとヘルパー メソッドが含まれます。

ルートについては、パスに main_app のプレフィックスを付けることができますが、ヘルパー メソッドについては、次のエラーが発生します。

undefined method `is_active?' for #<ActionDispatch::Routing::RoutesProxy:0xade808c>

<li class="<%= main_app.is_active?("high_voltage/pages", "api") %>"><%= link_to t('developers'), page_path('api') %></li>

どうしてこれなの?ヘルパーが入っていますapp/helpers/application_helper.rb

4

3 に答える 3

1

application_helper.rb のヘルパー メソッドは、main_app のメソッドではありません。

main_app 変数は、ActionDispatch::Routing::RoutesProxy のクラス/モジュールを持つオブジェクトです。

main_app は、アプリケーション ルートへのアクセスを提供するヘルパーです。たとえば、main_app.page_path('api') です。

ドアキーパーを使用すると、必要なパスにアクセスする必要があると思います。main_app.highvoltage_page_path('api').some_doorkeeper_active_method

これにより、少なくとも正しい方向に進むことができれば幸いです。以下も参照してください。

http://edgeapi.rubyonrails.org/classes/Rails/Engine.html#label-Using+Engine%27s+routes+outside+Engine

幸運を。

于 2012-06-04T13:30:46.713 に答える