仅获取当前用户的索引

时间:2015-07-23 23:59:52

标签: ruby-on-rails

我有一个非常基本的应用程序。我设法安装了设计。这个想法是让用户创造了挑战(1对多关系)。 我希望登录用户能够看到他们创建的所有挑战。

我命令这样做是正确的,我认为我可以将当​​前用户ID作为参数传递,以便按照以下方式获取当前用户的挑战(假设视图设置正确)

      <%= link_to challenges_path(user_id: current_user.id), class: 'expandable' %>

挑战控制器

def index
    @challenges = Challenge.all
    render :layout => false
  end

1 个答案:

答案 0 :(得分:0)

如果这是challenges索引所需的默认行为,那么您只需直接更改控制器操作,无需修改link_to即可添加user_id

挑战控制器

def index
    @challenges = Challenge.where(user: current_user)
end

现在,如果您只想在设置user_id GET参数时更改行为,您可以像这样保留link_to并以这种方式修改控制器

def index
    @challenges = params[:user_id] ? Challenge.where(user: current_user) : Challenge.all
end