2013-10-06 146 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

你能告訴我上面的代碼是如何工作的嗎? –

相關問題