私の 内でapplication.html.erb
、現在レンダリングしているページがマウントされたエンジン (それが重要な場合は Forem) 内からのものであるかどうかを検出できるようにしactive
て、ナビゲーション バーにクラスを追加できるようにしたいと考えています。これを検出する簡単な方法はありますか?
Rails 3.2 を使用しています。
私の 内でapplication.html.erb
、現在レンダリングしているページがマウントされたエンジン (それが重要な場合は Forem) 内からのものであるかどうかを検出できるようにしactive
て、ナビゲーション バーにクラスを追加できるようにしたいと考えています。これを検出する簡単な方法はありますか?
Rails 3.2 を使用しています。
Forem::ApplicationController
クラスを再度開くことで、ヘルパー メソッドを追加できます。
Forem::ApplicationController.class_eval do
def forem?
true
end
helper_method :forem?
end
app/decorators/forem/application_controller_decorator.rb
たとえば、上記のファイルを追加します。
このようにして、ビューが Forem のコントローラーによってレンダリングされるたびに、forem?
ビュー内で呼び出すことができます。
application.html.erb
<% if forem? %>
# do something
<% end %>
最初に現在のインスタンスかどうかを確認するか、独自の を返すメソッドrespond_to?(:forem?)
を追加することをお勧めします。forem?
false
application_controller.rb