Dans une application rails, j'utilise l'option: finder_sql dans une déclaration has_many. Les docs de rails disent que quand je fais ceci, "find_in_collection n'est pas ajouté." Qu'est-ce que ça veut dire?limitations de: finder_sql
2
A
Répondre
3
cela signifie que lorsque vous avez une relation has_many entre les tables comme:
personne has_many: livres,: finder_sql
vous obtiendrez pas le person.books.find * méthodes vous auriez obtenu normalement ont . la raison de ce comportement est que activerecord ne peut pas facilement composer le finder_sql avec la découverte des méthodes de * vous utiliserez, donc il ne peut pas vraiment vous donner cette fonctionnalité
3
Cela signifie qu'il ne supporte pas la méthode pour trouver une instance dans une collection. Les docs l'appellent find_in_collection
(où "collection" est quel que soit le nom de votre association). Un exemple pourrait être plus utile ici:
class Author < ActiveRecord::Base
has_many :posts
has_many :special_posts, :class_name => "Post",
:finder_sql => "SELECT * FROM posts WHERE ..."
end
author.find_in_posts(30) # it finds and returns post 30
author.find_in_special_posts(30) # not supported because finder_sql is used here.
Questions connexes
- 1. finder_sql pour la relation has_many
- 2. Limitations de Django CharField
- 3. limitations memcached
- 4. $ substitution de macro - limitations ExpandString
- 5. Limitations de la mémoire .NET
- 6. Longueur AJAX Limitations
- 7. Limitations ASP.NET Server.HtmlEncode
- 8. en virgule flottante Limitations
- 9. Limitations de l'OS beta de l'iPhone
- 10. Limitations du spouleur d'impression Windows?
- 11. Limitations du contrôle de navigateur Web
- 12. Limitations de ScriptManager dans les appels AJAX
- 13. Windows Server 2008 Limitations de licence
- 14. Sql Server taille géographique LineString 2008 limitations
- 15. Limitations de JRuby lorsque vous travaillez avec des classes Java
- 16. Solution de contournement pour les limitations J2ME Hessian?
- 17. SQL Server Express: Reporting Services .. limitations sur les graphiques?
- 18. Existe-t-il des limitations réelles dans Mono concernant ASP.NET?
- 19. Dans MVC, quelles sont les limitations du contrôleur?
- 20. Limitations dans Visual Studio 2008 lors de l'utilisation des privilèges de compte limité
- 21. Quelles sont les limitations de la méthode PyObject .__ tojava__ de jython?
- 22. Limitations de l'enregistrement des modifications dans un DataGrid lié à un DataTable
- 23. Quelles sont les limitations pour les noms de signets dans Microsoft Word?
- 24. Quelles sont les limitations des types de caractères primitifs dans D?
- 25. Quelles sont les limitations de Dynamic Language Runtime dans .NET 4.0?
- 26. Y a-t-il des limitations dans IIS sous Windows XP?
- 27. Expression Encoder - Limitations pour le fichier Dimension - taille minimale de 64 * 64 et doit être un multiple de 4?
- 28. y at-il un résumé des limitations techniques sur les applications écrites pour les sites de réseautage social quelque part?
- 29. Impossible de définir: joint les conditions dans la relation has_many?
- 30. Est-ce que IE 7 a des limitations de mémoire lors de la réception d'un PDF généré dynamiquement? Si oui, est-ce que quelqu'un a une solution de contournement?
Salut avit, Je ne suis pas sûr de ce que vous vouliez dire par « la méthode pour trouver une instance dans une collection find_in_collection ». En fait, je n'étais même pas sûr de savoir comment analyser cela. Sinon, votre exemple aurait rendu votre réponse meilleure que celle de Cyrik. Dan – allyourcode
Edité ... j'espère que cela a plus de sens maintenant: je me référais à ce que la méthode a été appelée dans les docs, alors qu'il s'agit en fait d'une méthode métaprogrammée basée sur le nom de votre collection. –