2016-06-22 3 views
1

ich eine App entwickeln möge, die mehrere Seiten behandelt, und der Benutzer die App (aus einem Formular) eine Seite hinzufügen, dann die zusätzlichen Seite an einer Seite-Tabelle hinzufügen. (Normalerweise)einen Controller In dem application.html.erb Layout

All dies weiß ich zu tun, und ich habe keine Probleme damit.

Das Problem ist, dass ich ein Menü in application.html.erb erstellen möchte, aber ich muss die Seitentabelle Daten von einem Controller abrufen, also habe ich versucht, reguläre Instanzvariablen von application_controller.rb an application.html übergeben .erb, und es hat nicht funktioniert.

In application_controller.rb:

@foo = "bar" 

In application.html.erb:

<%= @foo %> 

Ich weiß nicht einmal einen Fehler bekommen, gibt es einfach nichts in der Ansicht. (Ich meine die Variable ist nicht da, ich kann noch andere Inhalte sehen)

Wie kann ich einen Controller für application.html.erb anhängen? (Oder übergeben Sie Variablen an application.html.erb) Danke für jede Hilfe.

LÖSUNG: In Sie application_controller Sie

before_action :set_page 


    def set_page 
     @foo = "bar" 
    end 

dies tun kann, wird die set_page Aktion vor jeder Aktion in Ihrer Anwendung ausführen, die erreichen sollten, was Sie wollen.

Dank ruby_newbie !!!!

Antwort

2

In Sie application_controller Sie

before_action :set_page 


def set_page 
    @foo = "bar" 
end 

dies tun kann, wird die set_page Aktion vor jeder Aktion in Ihrer Anwendung ausführen, die erreichen sollten, was Sie wollen.

+1

Danke! Es funktioniert! +1 und ich werde deine Antwort als Lösung in 9 Minuten markieren ...: D – shabenda

Verwandte Themen