Rails 3关联试图限制返回数据



我完全承认这是用户缺乏经验,但这是我的问题

我有两个模型与

相关
     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|
  ...

相关内容

  • 没有找到相关文章

最新更新