我完全承认这是用户缺乏经验,但这是我的问题
我有两个模型与
相关 class User < ActiveRecord::Base
belongs_to :team
class Team < ActiveRecord::Base
has_many :users
我想做的是显示与登录用户属于同一团队的所有用户。也就是select from user there team_id = my team_id
我不确定我是否可以/应该在控制器或视图中这样做,但我无法得到工作。
在我的控制器中,我有这个返回所有团队的所有用户
@users = User
= SELECT users
.* FROM users
我还可以使用current_user方法,它返回当前用户的信息
@users = current_user.team
= SELECT teams
.* FROM teams
WHERE teams
.*id
= 3
我不知道如何获得所有用户的列表,其中team_id = current_user team_id?
还想知道在控制器中还是在视图中尝试这个最好?
谢谢
@apneadiving使用curent_user.team.users
将返回用户列表。但我只是想建议你把那个行为包装在一个方法中。例如,你可以在User
模型中输入如下内容:
class User < ActiveRecord::Base
belongs_to :team
def coworkers
team.users
end
end
然后在控制器中你可以输入
def an_action
@coworkers = current_user.coworkers
end
最后在你的视图中你可以循环遍历这个列表来显示它们
@coworkers.each do |coworker|
...