2012-07-08 33 views
2

我在我的控制器中有如下代码。这是为特定帐户(多租户)过滤模型。有没有简单的方法来干这件事? current_account_id是依赖于当前用户的控制器辅助方法。Rails控制器查找程序模式干涸帐户过滤器

Job.with_account(current_account_id).active....... 
Contact.with_account(current_account_id).active....... 

不确定在Application控制器中添加辅助方法是否是最好的方法。

编辑: 为了澄清,我可以使用一些代码象下面这样:

def job_with_current_account 
    Job.with_account(current_account_id) 
end 

,然后在控制器到处使用此方法例如

job_with_current_account.active..... 

我想知道是否有另一种更优雅的方式来做到这一点。

回答

2

如果在两个方向上定义的关联,并假设你有一个current_account帮手,那么你可以使用它代替:

current_account.jobs.active..... 
current_account.contacts.active..... 

它更简洁一点,你不需要定义所有型号中的with_account范围。

+0

哇,我是如何错过这个:)我其实有一个current_account帮手和所有的关系联系起来。谢谢你的协助 :) – 2012-07-09 16:27:17