Die Frage wird woanders beantwortet, (how to render partial on everything except a certain action), aber nicht für eine Rails-Engine, die in meinem Fall den Application Controller teilt. Ich möchte nicht, dass mein Teil "_homeHeader.html.erb" auf den Seiten der Suchmaschine angezeigt wird. Die Engine ist Rapidfire, eine Umfrage. Ich versuchteWie blockiere ich eine partielle in Rails 4 Engine?
<%=render :partial =>'layouts/homeHeader' unless {controller => 'rapidfire'} %}
Aber das blockierte die teilweise überall. Der Header enthält ein Login - Logout, das mit der Engine kollidiert. Ich habe auch versucht, einen Dummy "_homeHeader.html.erb" im Ordner views für Rapidfire zu setzen, aber das hat nicht funktioniert; Ich vermute, die Layout-Ansicht hat Vorrang.
Auf Anregung von Michael fixiert ich die Syntax
<%= render :partial =>'/layouts/homeHeader' unless (controller.controller_name == "rapidfire/question_groups") %>
aber es hat nicht funktioniert. es ist immer noch mit diesem Fehler auf einem Login Würgen:
undefined local variable or method `destroy_user_session_path' for #<#<Class...
Ich reparierte die Syntax –
Hat es für Sie funktioniert? –
Nein Michael. Ich habe meinen Beitrag überarbeitet. Danke –