Très nouveau sur Rails ... Je construis une fonctionnalité qui permet aux gens de comparer des photos, et je ne peux pas décider exactement comment je devrais le structurer. Idéalement, ce que j'aimerais, c'est d'avoir une table de "comparaisons" qui garde un enregistrement des identifiants des photos comparées ainsi que celles de l'utilisateur qui les a comparées, mais je ne suis pas sûr que cela justifie l'utilisation du "belongs_to" fonctionne ou non. Si oui, comment puis-je spécifier que chaque comparaison appartient à DEUX photos séparées?Utilisation de Rails, je ne sais pas si je devrais utiliser belongs_to ou pas
1
A
Répondre
1
La structure has_many, :through => Model
suivante vous permettra d'avoir des propriétés supplémentaires sur la table de jointure, par ex. 'comparison_user_id'.
class Photo < ActiveRecord::Base
has_many :appearances
has_many :users, :through => :appearances
end
class Appearance < ActiveRecord::Base
belongs_to :photo
belongs_to :user
end
class User < ActiveRecord::Base
has_many :appearances
has_many :photos, :through => :appearances
end
Questions connexes
- 1. Je ne sais pas si je devrais utiliser une redirection
- 2. Pourquoi ne devrais-je pas utiliser Unity?
- 3. Je ne sais pas comment utiliser AJAX
- 4. Je ne sais pas comment utiliser NSTableView
- 5. Je veux dessiner une ligne dans la toile ne sais pas quel événement je devrais utiliser?
- 6. packages visuels en C++ pour Windows (je sais que je ne devrais pas utiliser windows =()
- 7. Je ne sais pas choisir
- 8. Rails - Devrais-je utiliser une association polymorphe?
- 9. date.parse je ne sais pas comment implémenter
- 10. RoR: Devrais-je utiliser belongs_to,: polymorphic dans ce scénario?
- 11. Rails tables liées belongs_to ou has_many ne fonctionne pas
- 12. Bug dans gcc 4.7? ou non, je ne sais pas si je demande ici
- 13. [C++] Je ne sais pas si c'est possible
- 14. Je ne sais pas comment utiliser typedef enum
- 15. Répartir uniformément DIVS ou aussi ... oui, je sais que je devrais utiliser une table
- 16. Rails renvoie une erreur 500 (Je ne sais pas pourquoi)
- 17. Maux de tête MySQL, devrais-je ou ne devrais-je pas?
- 18. Je ne sais pas si JAVA_HOME est défini
- 19. Erreur NetBeans. Je ne sais pas pourquoi
- 20. Je ne sais pas comment régler FLAG_ACTIVITY_CLEAR_TOP
- 21. Je ne sais pas comment utiliser toEnum dans Haskell
- 22. Je ne sais pas comment utiliser sélecteurs CSS
- 23. Je ne sais pas comment utiliser la fonction jQuery noconflict
- 24. Je ne sais pas comment utiliser les modèles Django
- 25. Je ne sais pas comment utiliser l'interface utilisateur JQuery Autocomplete ... :(
- 26. Pourquoi devrais-je utiliser backbone.js ou spine.js?
- 27. Interprétation Je ne sais pas quoi faire?
- 28. Devrais-je utiliser des typeclasses ou non?
- 29. ActionSheet? Vue? Je ne sais pas
- 30. Je ne sais pas comment déclarer
Apparemment, l'apparence était un nom plus approprié et descriptif que la comparaison. La dénomination est importante. –
Je pense que vous n'avez pas compris la question. Il est nommé une comparaison parce que c'est un modèle contenant * deux * photos et aussi un utilisateur. –
@JakubHampl C'est correct, même si je pense que l'utilisation du paramètre: through peut toujours être la clé pour que cela fonctionne. Je vais jouer avec et voir ce que je reçois .... –