Ciao,
voglio capire se qualcuno ha gia’ riscontrato un problema simile.
Uso Rails 2.3.5 (per un problema di compatibilita’…)
In un modello che chiamo ‘Post’ ho qualcosa tipo:
has_many :comments do
def foo
all
end
end
Quindi:
p = Post.find :first
p.comments
è ok, funziona e mi restituisce un array di commenti
p.comments. + [tab]
tra la lista dei metodi disponibili c’e’ anche ‘foo’.
Tuttavia:
p.comments.foo
da’ errore:
NoMethodError: SQL (1.1ms) SHOW TABLES
undefined method `foo’ for #Class:0x10306fe88
Strano… inoltre ha smesso di funzionare da poco…
Qualche suggerimento?
p = Post.find :first
p.comments
ok, funziona e mi restituisce un array di commenti
p.comments. + [tab]
tra la lista dei metodi disponibili c’e’ anche ‘foo’.
Personalmente trovo strano il fatto che ti mostri foo nella lista dei
metodi
Tuttavia:
p.comments.foo
da’ errore:
NoMethodError: SQL (1.1ms) SHOW TABLES
undefined method `foo’ for #Class:0x10306fe88
hai definito il metodo per le istanze della classe Post ergo foo
dovrebbe funzionare solo quando viene richiamato su di un oggetto
Post:
Post.find_by_id(1).foo
A questo punto non capisco il senso di richiamare tutte le istanze
della classe Post tramite un’istanza quando puoi richiamare
direttamente Post.all .
Strano… inoltre ha smesso di funzionare da poco…
IMHO e’ ancora piu’ strano il fatto che prima funzionasse