0

我有一个索引页面,它只显示 current_user 的数据,我制作了另一个页面,显示与索引页面相同的数据字段和相同的格式,但不是 current_user,但在查询其他列之后,在这种情况下是否可以重用索引代码并在控制器中使用某些条件来传递每种情况下不同的对象变量?

提前致谢

4

2 回答 2

1

你打赌——@user = params[:user_id] ? User.find( params[:user_id] ) : current_user

于 2013-10-06T05:02:12.737 回答
1

假设控制器是 FoosController 并且 current_user 的索引页面的动作是#bar,那么你的控制器可能看起来像这样

class FoosController < ApplicationController
  def bar
    @user = current_user
  end

要重用模板,您可以制作一个单独的部分模板 say app/views/foos/_index.html.erb

那么,在app/views/foos/bar.html.erb

<%= render partial: '_index', locals: { user: @user }

要在另一个动作中重用部分模板,您只需要在另一个模板中调用部分模板,并为其提供不同的实例变量。

于 2013-10-06T06:39:57.327 回答