2013-10-06 95 views
0

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

在此先感谢

回答

1

假设控制器FoosController和索引页的行动CURRENT_USER是#bar,那么你的控制器可能看起来像这样

class FoosController < ApplicationController 
    def bar 
    @user = current_user 
    end 

要重复使用该模板,可以创建一个单独的部分模板,例如app/views/foos/_index.html.erb

然后,在app/views/foos/bar.html.erb

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

要重新在另一个动作部分模板,你只需要调用部分在另一个模板,不同的实例变量喂养它。

1

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

+0

你能告诉我上面的代码是如何工作的吗? –

相关问题