2014-08-27 36 views
2

具體而言,索引頁上,你可能有導軌 - 值傳遞到循環

@users.each do |user| 
render 'layouts/shortprofile' 
end 

其中短期配置文件包含從用戶和其他相關模型的數據。

該部分試圖從用戶模型中的索引方法中讀取,但該方法中沒有爲單個用戶定義的變量。感覺像| user |塊var應該讀入部分,但它似乎並不。

例如,在部分我可能希望有類似 -

user.blogs[1..3].each do |blog| 
    blog.title 
    blog.created_at 
    ..... 

...但我不知道如何讓用戶價值爲部分。

我想保留它作爲一個部分COS它顯示在幾個上下文中,我想幹。

回答

3

它傳遞給你的局部使用局部變量,並確保你明確指定部分:

如/

@users.each do |user| 
render partial: 'layouts/shortprofile', locals: { user: user } 
end 

此處瞭解詳情:http://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables

+0

嗨gef - 感謝這 - 我試過了,但已經搞砸了 - 我已經更新了問題的迴應,並且正在閱讀文檔。歡呼聲,丹 – RADan 2014-08-27 16:06:21

+0

嘿@RADan你需要包括部分:當傳遞其他選項。我剛剛更新了答案:) – gef 2014-08-27 16:52:04

+1

謝謝 - 這真是太棒了:) – RADan 2014-08-27 17:10:31

0

你可以改變你偏「_user.html.erb」並將其移動到您的索引視圖的「views/users」文件夾中,並用此替換@users.each塊:

<%= render @users %> 

...它應該成功地將每個用戶對象傳遞給部分中的變量user