2012-12-23 36 views
2

當渲染的部分被稱爲 '成員',它說錯誤爲什麼我的partial不會正確接收參數?

未定義局部變量或方法`用戶」的#<#:0x000000095ec8c0>

爲什麼?

我的代碼是

查看

<% @users.each do |user| %> 
    <%= render 'member', :locals => {:user => user} %>  
<% end %> 

部分

<div class="chapter"> 
    <p class="title"> 
    <%= user.user_profile.nickname %>(<%= user.username %>) 
    </p> 

回答

3

你應該使用:

<%= render :partial => 'member', :locals => { :user => user } %> 

或者只是:

<%= render 'member', :user => user %> 
+0

很棒!謝謝 – HUSTEN

3

我的建議是,你堅持的約定時,您可以;如果你這樣做,一切都會順利的進行。

如果你有一個_user.html.erb部分,你可以使用這個Rails約定

<% @users.each do |user| %> 
<%= render user %> 
<% end %> 

但是,你甚至可以縮短這個更

<%= render @users %> 

好哇!

我強烈建議你看看Layouts and Rendering Guide

+0

非常感謝 – HUSTEN

相關問題