我的RoR应用程序上有以下架构/关系
|Merchant| (1-->n) |Credit | (n-->1) |User | (1-->1) |Merchant |
|--------| |------------| |--------------| |-----------|
|id | | user_id | |id | |id |
|Name | |merchant_id | |merchant_id | |Name |
|isMerchantUser|
假设您以商家用户身份登录,作为商家用户,您应该只能看到与您的商家匹配的商家ID。当您转到用户个人资料页面时,您希望显示授予用户的所有与您的User.merchant_id相关的信用
考虑以下因素: - 认证系统:设计。您可以使用current_user方法 - 查询放在用户#index controller
上以下查询仅用于显示登录的商家用户提供的信用,但如果我转到用户个人资料页面,我想限制只显示给该用户的信用。
@credits = Credit.find(:all,:conditions=>{:merchant_id => current_user.merchant_id(&:merchant_id)})
我正在尝试做这样的事情......
@credits = Credit.where(merchant_id = current_user.merchant_id)
有什么想法吗?
答案 0 :(得分:0)
知道了!
这就是我所做的:
用户#index控制器
@user = Credit.where(:merchant_id => current_user.merchant_id).group(:user_id).sum(:amount)
因此,我获得了与该商家具有关联信用的用户,按用户对记录进行分组,并获得给予该用户的金额总和。