[ruby-it] [rails] variabili istanza: scope e duplicazione?

Luca Reghellin email a reghellin.com
Sab 9 Gen 2010 15:41:05 CET


Ciao! Sono relativamente nuovo a rails. Sono un programmatore
javascript/actionscript e conosco un po' ruby.
C'è una cosa che, sebbene la uso, non capisco perché funzioni così: le
variabili istanza (@) perché in un tipico  controller devo ripeterle ad
ogni azione(metodo)? Non è una duplicazione? E perché la view non mi
vede una variabile istanza magari già definita in un'altro metodo?

Prendiamo un semplice controller admin, rest, ma vale per tutti.
Prendiamo le azioni new e create.

  def new
    @show = Show.new
  end

  def create
    @show = Show.new(params[:show])
    if @show.save
      redirect_to admin_shows_path
    else
      render :new
    end
  end

Per quale motivo sono costretto a dichiarare 2 volte @show come nuova
istanza di Show? Non è forse la stessa? Alla view new passo @show a
form_for, il quale raccoglie i dati e li spedisce a create. Perché in
create devo creare una nuova istanza di Show?
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list