übergeben Parameter in render - rails 3

7

Ich habe ein paar Fragen dazu gesehen, aber ich konnte es nicht lösen ...

Ich versuche, einen Parameter zu übergeben, während ich eine partielle rendere (ähnlich wie domainname.com/memory_books/new?fbookupload=yes)...richtig jetzt benutze ich diese Zeile:

%Vor%

und in der partiellen ... Ich habe versucht, den Inhalt von fbookupload zu erhalten, indem Sie:

%Vor%

was einen Fehler "undefined lokale Variable" und

ergibt %Vor%

zeigt fbookupload nicht als Parameter an.

Wie kann ich den Parameter "fbookupload" teilweise weitergeben?

Danke.

UPDATE:

Könnte es etwas damit zu tun haben, dass ich dies innerhalb eines Renderings rendere?

d. die Seite (/ fbookphotos / show), die

hat %Vor%

wird von einer anderen Seite mit (posts / show) über:

gerendert %Vor%

so erinnere ich mich daran innerhalb eines Renderings ...

    
user749798 01.07.2012, 16:22
quelle

4 Antworten

13

versuche das:

%Vor%     
Someth Victory 01.07.2012, 16:26
quelle
10

Herausnehmen aus den Kommentaren für die Nachwelt. Diese Syntax ist korrekt:

%Vor%

Wenn es jedoch einen Verweis auf das Rendern desselben Partials gibt, ohne die lokalen Variablen anzugeben, z. B.

%Vor%

dann fbookupload Variable wird nicht verfügbar. Dasselbe gilt für mehrere lokale Variablen, z. B.

%Vor%

funktioniert nur einmal. Aber wenn es so etwas anderswo im Code gibt

%Vor%

dann wird die var2 nicht mehr verfügbar sein. Geh Figur ...

    
Vadym Tyemirov 17.11.2013 14:11
quelle
0

Um es auf Ihre Art zu tun:

In der Hauptansicht:

%Vor%

Und im Teil:

%Vor%

2. Option:

Idealerweise im Controller, sonst in der Ansicht, definieren Sie eine Instanzvariable: @fbookupload = "yes" . Dann ist es überall verfügbar. Das Teil wird dann sein: <%= @fbookupload %>

    
Anil 01.07.2012 16:42
quelle
0

Params ist nur Request-Parameter, also wenn du es in Params übergeben willst, musst du es zu deiner URL ?fbookupload=yes hinzufügen oder es params[:fbookupload] = "yes" zuweisen, aber ich denke nicht, dass das eine gute Idee ist.

Aber wenn Sie params[:fbookupload]', u can replace it with params [: fbookupload] || verwenden müssen fbookupload ', und übergeben fbookupload in lokalen Hash für partielle.

    
Yuri Barbashov 01.07.2012 16:47
quelle