2

我的控制器中都有如下代码。这是为了过滤特定帐户的模型(用于多租户)。有没有简单的方法来干燥这个?这current_account_id是一个依赖于当前用户的控制器辅助方法。

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

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

编辑:为了澄清,我可以使用如下代码:

def job_with_current_account
  Job.with_account(current_account_id)
end

然后在控制器中的任何地方使用此方法,例如

job_with_current_account.active.....

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

4

1 回答 1

2

If you have defined the associations in both directions, and assuming you have a current_account helper, then you could use this instead:

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

It's a bit more concise, and you don't need to define the with_account scope in all of your models.

于 2012-07-09T16:10:51.627 回答