私はデフォルトのapplication.rhtmlで、レールアプリでjavascriptのフィードバックウィジェットを表示しようとしています。これは、異なるコントローラ間で分散されたページのサブセットにのみ表示されます。アプリケーションレイアウトでコントローラとメソッドで異なるコンテンツを表示する方法は?
これを行う最善の方法を見つけようとしています。すべてのコントローラ内のすべての方法で
<%= render :partial => "layouts/feedback_tab" if @show_feedback_tab == true %>
してから設定@show_feedback_tab:
一つの考えは、このような何かをすることでした。これはあまりにも複雑です。私の2番目の考えは、@show_feedback_tabをtrueに設定し、それを表示したくない関連する個々のメソッドに対してfalseに設定できるということでした。グローバル変数は正しく見えませんし、application_controllerのメソッドは表示されているメソッドに依存しているため、動作しません。
どのような考えですか?
def show_feedback_tab?
if params[:controller] == :user && params[:action] == :index
return true
end
...
or put here any other logic
...
false
end
をして(application_controller.rbで)ヘルパー・メソッドとして追加:
完璧、ありがとう! – kareem