[ruby-it] Variabili d'istanza non visibili

Simone Carletti weppos a gmail.com
Mar 25 Ago 2009 10:31:00 CEST


Le variabili d'istanza sono accessibili ovunque all'interno
dell'applicazione indipendentemente dal fatto che siano state o meno
dichiarate nell'initializer.

Il tuo codice infatti funziona. Prova ad eseguire questo

class LoginMock

  def initialize(session)
   @session = session
   @user = nil
  end

  def log_in(user)
    if user
      @user = user
    end
  end

  def give_me_the_user
    @user
  end

end

c = LoginMock.new("I am a session")
c.log_in("weppos")
puts c.give_me_the_user

Il problema è senza dubbio altrove. Tieni in considerazione che se apri una
pagina A (login) e B (verifica), anche se hai una variabile d'istanza in A
non sarà visibile in B perché sono due esecuzioni differenti.
Per trasportarti il valore devi ricorrere all'uso di una sessione o di un
cookie.

-- Simone


2009/8/25 Nicola Nico <theonenkl a gmail.com>

>
> def initialize(session)
>  @session = session
>  @user = nil
> end
>
> def log_in(user)
>  if user
>    @user = user
>    ...
>  end
> end




-- 
Simone Carletti

Site & Blog: http://www.simonecarletti.com
Email: weppos a weppos.net
LinkedIn: http://linkedin.com/in/weppos
Nick: weppos | Skype: weppos


More information about the Ml mailing list