2012-06-19 14 views
13

voglio passare alcuni argomenti al mio modello JavaScript in applicazione Rails3 Quello che cerco con il blocco respond_to è:Passing argomento di '.js.erb' modello

respond_to do |format| 
     format.js({:id=>params[:id]}) 
    end 

Ho anche provato:

respond_to do |format| 
     format.js(params[:id]) 
    end 

Sono obbligato a rendere id come una variabile di istanza per il modello js da utilizzare? Come passare variabili al modello qui?

risposta

20

Funziona?

respond_to do |format| 
    format.js { render "action", :locals => {:id => params[:id]} } 
end 

"azione" è la vostra azione/nome del modello (indice, spettacolo, etc.)

+1

Il commento di Antonio ha più senso qui. Definire la variabile significa che non è necessario provare e passare qualcosa in più. – SortingHat

14

In alternativa è possibile definire @variable nel controller e si dovrebbe in grado di accedervi nelle vostre js. modello erb. Quindi non è necessario passare la variabile come parametro.

+0

Penso che i controllori dovrebbero definire meno ivars possibile, giusto? – sekmo