non sono in grado, per qualche motivo di passare le variabili locali alla vista spettacolo ...Passando variabili locali ad una vista dal regolatore
Nel mio controller ho semplicemente:
def show
render template: "books/show", :resource => "Some text"
end
A mio avviso I Stampa la seguente:
<h1>My local variable text: <%= resource %></h1>
e sto ottenendo il seguente messaggio:
undefined local variable or method `resource' for #<#<Class:0x00000118ebce90>:0x00000118ec3498>
Ho provato sintassi seguenti nel controller:
render template: "books/show", locals: { resource: "Some text" }
render template: "books/show", locals: { resource => "Some text" }
render template: "books/show", :locals => { resource: "Some text" }
render template: "books/show", :locals => { resource => "Some text" }
senza alcuna fortuna ...
qualche indizio?
Grazie!
Perché è necessario passare variabili locali anziché variabili di istanza? Suppongo che "Some Text" sia un segnaposto perché altrimenti sarebbe più sensato che questo fosse nella vista. Passo le persone del posto ai partial ma le variabili di istanza alle viste di base. La gente del posto implica che è necessaria solo a livello locale e può essere ripulita in seguito. Altrimenti ecco i miei 2 secondi di [Googling your question] (http://thepugautomatic.com/2013/05/locals/) – engineersmnky
No, è più complicato di così! "Some text" è solo per illustrazione ... Sto passando oggetti diversi a seconda di dove sto chiamando il template. Per fare ciò, non ho altra scelta che aggiungere la capacità di definire la variabile locale per la vista ... – user3442206
Per esempio, sto chiamando il modello da un controller o da un decoratore. Anche questo modello è usato per classi diverse in quanto sono molto simili sotto molti aspetti ... – user3442206