Pilu
September 1, 2006, 5:58pm
1
Ho una tabelle images con i campi
Ogni immagine potrà essere associata a vari tipi di modelli…tipo
user, category etc…
Se nel modello User, che hail campo image_id, metto:
has_one :image
e faccio:
image = user.image
rails mi da ovviamente errore xkè in images non c’è il campo user_id.
Una soluzione potrebbe essere:
image = Image.find(user.image_id)
E’ la soluzione migliore? come vi comportereste voi?
-pilu
Pilu
September 1, 2006, 6:02pm
2
image = Image.find(user.image_id)
o forse creare il modello in questo modo?
class User < ActiveRecord::Base
def image
Image.find self.image_id
end
def image=(image)
self.image_id = image.id
end
end
Pilu
September 2, 2006, 10:02am
3
forse a te servono i “polymorphic associations”… hai letto
http://wiki.rubyonrails.org/rails/pages/UnderstandingPolymorphicAssociations
?
class User < ActiveRecord::Base
has_many :images, :as => :resourcable
end
class Image < ActiveRecord::Base
belongs_to :resourcable, :polymorphic => true
end
In questo caso dovresti aggiungere alla tabella images:
t.column “resourcable_id”, :integer
t.column “resourcable_type”, :string
hmmm… In ogni caso sarà la tabella “images” che contiene il ID
altrimenti dovresti fare belongs_to :image ma non vuoi fare quello
vero?
Pilu
September 4, 2006, 2:44pm
4
On 9/2/06, Rob C. [email protected] wrote:
end
In questo caso dovresti aggiungere alla tabella images:
t.column “resourcable_id”, :integer
t.column “resourcable_type”, :string
hmmm… In ogni caso sarà la tabella “images” che contiene il ID
altrimenti dovresti fare belongs_to :image ma non vuoi fare quello
vero?
Grazie Rob cosi funziona…xò in questo modo ogni immagine è associata
ad un altro oggetto…io volevo fare in modo che fossero
“libere”…senza salvare
l’id del “parent” in images…
Pilu
September 5, 2006, 9:27am
5
On Sep 1, 2006, at 5:56 PM, Pilu wrote:
has_one :image
E’ la soluzione migliore? come vi comportereste voi?
class User
belongs_to :image
end
–
Stefano C.
[email protected]
Pilu
September 5, 2006, 5:29pm
6
ho suggerito i polymorphic associations perché volevi associare un
immagine a diversi modelli ma se puoi usare un metodo più semplice è
meglio!
Pilu
September 5, 2006, 1:46pm
7
class User
belongs_to :image
end
Si in effetti puo essere un idea anche se non ha senso dire che
l’utente appartiene ad un immagine dato che è il contrario…cmq può
essere una soluzione