Bonsoir/Bonjour, c'est encore moi...
Toujours dans le même projet de Bibliotheque de Manga j'ai besoin de faire une relation N-N mais en mieux. Je m'explique, j'ai une bdd avec des mangas et des utilisateurs, j'ai réussi à utiliser une relation N-N (avec des habtm des deux cotés) qui utilise une 3eme table afin de faire la collection de mangas de chaque utilisateur.
Voila, je voudrais rajouter un status à chaque unité de la collection. Voici mes modèles
Pour le moment tout ce que je peut faire c'est par exemple current_user.mangas.find(une id).status_id mais je voudrais pouvori faire un status.description. Comme vous avez pu le voir j'ai essayer avec des :through mais j'avoue que je n'y comprend pas grand chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class Manga < ActiveRecord::Base belongs_to :serie #has_one :status, :through => :status has_and_belongs_to_many :users end class Status < ActiveRecord::Base belongs_to :manga #belongs_to :manga ,:through=> :status end class User < ActiveRecord::Base has_and_belongs_to_many :mangas end
Evidamment je pourrais faire un status = Status.find(current_user.mangas.find(uneid).status_id)) pour ensuite afficher les informations de mon status mais j'avoue que ce n'est pas trop génial comme solutions.
remarque: j'ai une erreur du type avec mes :through
Voila, je remercie d'avance les gens qui liront ce poste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Unknown key(s): through RAILS_ROOT: ./script/../config/.. Application Trace | Framework Trace | Full Trace /home/fabseven/rails/projetbmanga/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb:48:in `assert_valid_keys' /home/fabseven/rails/projetbmanga/vendor/rails/activerecord/lib/active_record/associations.rb:1123:in `create_has_one_reflection' /home/fabseven/rails/projetbmanga/vendor/rails/activerecord/lib/active_record/associations.rb:625:in `has_one' /home/fabseven/rails/projetbmanga/app/models/manga.rb:3 /home/fabseven/rails/projetbmanga/app/controllers/macollection_controller.rb:44:in `ajouter'
Remarque : j'ai chercher sur le net des exemples de ce cas mais je n'ai malheureusement pas trouver mon bonheur. Dans le book de rails que j'ai au boulot il me semble qu'on utilise un push with attributes (de façon bizarre) et il me semble que cette méthode est deprecated.
Pour ceux que ca intèresse voici un lien pour quelques screens de ce que j'ai déjà fait : Images Projet BibliotekManga Gamma
Partager