J'ai une collection qui contient des instances de plusieurs classes différentes, et je veux rendre le partiel pour chaque instance. Je peux le faire en utilisant le code suivant:Rendu d'une collection de classes différentes dans Rails
<%= render @results %>
Ma question est: Comment puis-je rendre les différentes Partials dans un répertoire de base différent? Le code ci-dessus va chercher app/views/stories/_story.html.erb, cependant, les partiels pour cette action sont tous conservés dans un répertoire différent - app/search/_story.html.erb. Y a-t-il un moyen de spécifier cela?
Voici ce que j'utilise pour les résultats de recherche multimodèles, avec une différence: si vous passez '@ results' dans via': collection' au lieu d'utiliser un localisateur et un bloc 'for' ou' each', chaque objet est assigné à la variable 'partialname' de son partiel. Cela évite d'avoir des variables abstraites comme "item" (pas d'infraction!) Dispersées sur les contextes de vue des différentes classes et préserve le sens sémantique, par ex. 'school.address' vs' item.address' dans une section 'school' partielle. C'est un peu plus compliqué si vous ne voulez pas utiliser l'emplacement partiel par défaut 'classnames/_classname'. – Eric
Bien mis @Eric –