Bonjour,
J'essai de créer un système qui relie mes articles à une table images, toutes les images seront stocké dans la table images et seront lié par un champs post_id.
J'ai donc une table post et une table images avec post_id
class Post < ApplicationRecord
belongs_to :images
end
______________________
class Image < ApplicationRecord
belongs_to :classified
end
J'aimerais pouvoir afficher les images lié à mon article dans ma vue
post.images.path
Pour le moment j'ai un undefined method error sur images
Par définition pour ce que tu veux faire, un post a plusieurs image et une image est associée à un post et un seul. Du coup, dans ton model Post
tu ne dois pas utiliser belongs_to
mais has_many
:
class Post < ApplicationRecord
has_many :images
end
class Image < ApplicationRecord
belongs_to :post
end
Tu peux ensuite récupérer la liste des images associés à un Post en faisant:
post.images
A noter tout de même qu'ici post.images
renvoi une collection, donc post.images.path
ne fonctionnera pas (A contrario, ceci fonctionne post.images.first.path
). A toi de boucler sur cette collection d'images pour toutes les afficher.