2012-01-12 69 views
1

我有一個部分,_approve.html.erb的意見/用戶目錄,我想在我的的意見/友誼/ index.html.erb使用傳遞實例和非實例變量偏

部分工作正常我的views/users/show.html.erb與一個實例變量。然而,它似乎打破,當我把它從的意見/友誼/ index.html.erb

_approve.html.erb

<%= link_to "Approve", friend_approval_path(@user), :class => "btn primary", :remote => false %> 

的意見/用戶/ show.html.erb這裏呈現精細:

<%= render 'approve' %> 

的意見/友誼/ index.html.erb這裏拋出錯誤:

<%= render :partial => 'users/approve', :locals => {:user => invite} % 

這是錯誤:

No route matches {:controller=>"friendships", :action=>"approve"} 
+0

*它會拋出什麼*錯誤? (並且您不需要設置遠程false;這是默認設置。) – 2012-01-12 15:49:58

回答

2

@user是實例變量 - 不是本地人。

要麼從友誼控制器創建@user實例變量,要麼從用戶控制器傳入本地user,或者將邏輯放在您的部分中以在兩者之間進行選擇。

+0

有意義。餘中加入: <%用戶= @用戶%> \t <%=渲染:局部=> '批准',:當地人=> {:邀請=>用戶}%> 即感覺有點janky,但有用! – Rapture 2012-01-12 15:59:36

+1

@破解我不明白'{:invite => user}'部分,但沒關係。無論如何,ew; IMO是我提供的三個選項中最差的。 – 2012-01-12 16:02:28

+1

我想這對我來說是最低的掛果,因爲我不知道如何設置部分的邏輯來處理兩者。從我的友誼控制器創建一個@ user實例變量似乎不可能,因爲它是一個索引,並且有很多@ user列出?我很想知道如何更正確地做到這一點!對我來說這似乎也很難過! – Rapture 2012-01-12 16:11:29