Sono nuovo di ruby su rail e sto lavorando con la versione 2.3 su mac osx. sto provando a creare la stessa funzionalità creata da uno scaffold, ma da solo. Ho creato un controller, una vista e un modello "post". controller alberino, ho il seguente:variabile di istanza vs simbolo in ruby on rails (form_for)
class PostController < ApplicationController
def index
end
def new
@post = Post.new
end
end
in new.html.erb, ho il seguente:
<h1>New Post</h1>
<% form_for :post do |f| %>
<%= f.text_field :title %>
<% end %>
ho notato che nello scaffold codice generato, l'uso della variabile di istanza @post per il form_per helper. perché usano la variabile di istanza nel modulo generato dallo scaffold se si passa il simbolo: post in form_for fa esattamente la stessa cosa, mentre un simbolo richiede di cambiare la configurazione dei percorsi?
vi ringrazio molto, Yuval
grazie mille. che chiarisce :) –
l'importanza di quel metodo _ nascosto è che i browser non supportano i metodi put ed delete, quindi devi far sapere all'applicazione quando un metodo post è pensato per essere un put o un delete, per fortuna rotaie magicamente gestisce questo per noi – ErsatzRyan
Devi usare @post sul nuovo modulo, e ti serve anche se i tuoi moduli sono separati. Altrimenti, quando crei un nuovo post con dati non validi e torna al nuovo modulo con errori di convalida, non verrà compilata l'informazione che hai inserito. –