Zum Beispiel stelle ich die partielle <%= render "layouts/location" %>
in Ansichten auf der ganzen Website. Ich brauche einen Controller für das Layout (Ich habe versucht layouts_controller.rb), so konnte ich tunWie definieren Sie eine Funktion für partielle in einem Controller, um in allen Ansichten zu arbeiten? Ruby on Rails
def _location
@city = request.location.city
@state = request.location.state
end
Die teilweise den Code enthält <%= @city %>, <%= @state %>
Das alles effektiv ist, soll die Stadt und den Staat des Besuchers angezeigt werden auf welcher Seite auch immer die partielle gerendert wird.
Wenn ich dies jedoch, und drücken Sie auf Heroku und migrieren Sie die Datenbank, ich bin die Fehlermeldung: Ein Fehler ist in der Anwendung aufgetreten und Ihre Seite konnte nicht bedient werden. Bitte versuchen Sie es in einigen Augenblicken erneut.
Wenn Sie der Besitzer der Anwendung sind, überprüfen Sie Ihre Protokolle für Details.
Die Frage ist also, wie definiere ich eine Funktion für eine partielle?
Wird diese teilweise verwendet _a viel_? Weil Sie in 'ApplicationController' einen' before_filter' setzen könnten, der diese Variablen für Sie setzen würde. Selbst wenn Ihr Partial beispielsweise auf 40% Ihrer Seiten verwendet wird, wäre es keine große Sache, dass es bei jeder Anfrage einige Millisekunden dauerte, diese Variablen zu setzen. – MrDanA
Yeh, wie 70% der Seiten, würde ich vor_filter dann def location? oder? Standort? oder ? – Laser
Ich werde ein Beispiel als Antwort geben. – MrDanA