ActiveScaffold - 在嵌入式脚手架中指定条件

时间:2009-06-01 13:57:02

标签: ruby-on-rails activescaffold

我有一个Project模型和一个TaskType模型。 两者之间的关联通过ProjectTaskType模型发生 (由DB中的链接/连接表支持,包含项目和项目的外键 TaskTypes)。

项目has_many TaskTypes:通过ProjectTaskType和TaskTypes has_many项目:通过ProjectTaskType。

我有一个嵌入式脚手架,想要显示所有内容 属于给定项目的TaskTypes。

有人可以问我如何为此写下条件吗?

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

我的过滤逻辑可以转移到其他地方吗?

谢谢

1 个答案:

答案 0 :(得分:0)

在ActiveSacffold控制器中,我添加了这个AS钩子方法......

def conditions_for_collection    subquery =“SELECT t.id.           来自#{TaskType.table_name} t,#{ProjectTaskTypes.table_name} ptt           where(t.id = ptt.task_type_id和ptt.project_id =#{project_id})“

“id in(#{subquery})” 端