2012-01-27 5 views
0

Il doit y avoir une façon plus intelligente de faire ce que je fais ici.Obtention du nom du contrôleur à partir d'un tableau d'objets

Je suis dans la page d'exposition pour un projet de mine dans un projet de rails. Ce modèle est Véhicule. Chaque véhicule a un grand nombre d'enregistrements de kilométrage, donc j'essaie d'afficher ceux sur la page d'affichage de chaque véhicule.

Je rends un 'records_table' partiel (pour pouvoir le réutiliser pour les enregistrements de service plus bas sur la page). Le problème est que dans cette partie je rend les en-têtes de table en utilisant le code suivant:

<%= render "table_headers" %> 

qui rend les table_headers pour véhicule, et non pour un enregistrement Kilométrage (pour des raisons évidentes). Je peux contourner le problème en faisant cela pour obtenir le nom du dossier de vues (le nom du contrôleur associé à des dossiers de kilométrage)

<%= render "#{objs.first.class.name.pluralize.underscore}/table_headers" %> 

C'est une telle façon de faire les choses laides. Existe-t-il un autre moyen d'obtenir le nom du contrôleur à partir d'un tableau d'objets (en supposant qu'ils proviennent tous du même modèle)? Ou y a-t-il une meilleure façon de désigner les tables_headers que je veux (sans taper simplement des mileage_records comme cela doit être fait pour d'autres types d'enregistrements)?

Répondre

Questions connexes