0

Project モデルと TaskType モデルがあります。この 2 つの間の関連付けは、ProjectTaskType モデル (プロジェクトと TaskType の両方への外部キーを持つ DB 内のリンク/結合テーブルによって支えられている) を通じて行われます。

Project has_many TaskTypes :through ProjectTaskType および TaskTypes has_many Projects :from ProjectTaskType.

スキャフォールドが埋め込まれたビューがあり、特定のプロジェクトに属するすべての TaskTypes を表示したいと考えています。

この条件をどのように書くかについて、誰かが私に質問できますか?

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

また、フィルタリング ロジックを別の場所に移動できますか?

ありがとう

4

1 に答える 1

0

ActiveSacffoldコントローラーで、このASフックメソッドを追加しました...

def condition_for_collection subquery = "SELECT t.id from#{TaskType.table_name} t、#{ProjectTaskTypes.table_name} ptt where(t.id = ptt.task_type_id and ptt.project_id =#{project_id})"

"id in(#{subquery})" end

于 2009-06-01T15:44:11.197 に答える