2009-06-01 8 views
0

J'ai un modèle Project et un modèle TaskType. L'association entre les deux se produit via un modèle ProjectTaskType (soutenu par une table de liaison/jointure dans la base de données avec des clés étrangères pour les deux projets et TaskTypes).ActiveScaffold - Spécification des conditions dans l'échafaudage incorporé

Un projet has_many TaskTypes: à travers ProjectTaskType, et un TaskTypes has_many Projects: à travers ProjectTaskType.

J'ai un vew avec un échafaudage intégré et je veux afficher tous les TaskTypes appartenant à un Projet donné. Est-ce que quelqu'un peut me faire part de la façon dont j'écrirais les conditions pour cela?

<%= render 
    :active_scaffold => :task_type, 
    :label => 'Task Types', 
    :conditions => "TaskTypes which are associated with @project 
        through the ProjectTaskType" %> 

Et ma logique de filtrage peut-elle aller ailleurs?

Merci

Répondre

0

Dans le contrôleur ActiveSacffold j'ai ajouté cette méthode AS crochet ...

def conditions_for_collection = « SELECT sous-requête t.id de # {} TaskType.table_name t, # {ProjectTaskTypes. nom_table} ptt où (t.id = ptt.task_type_id et ptt.project_id = # {} project_id) »

"id dans (# {} sous-requête)" fin

Questions connexes