2013-08-21 40 views
1

想我得到的所有用戶通過@users = User.all,然後在我的部分,我有一些循環顯示導軌整個實例變量視圖

%ul 
     = users.each do |index| 
      = content_tag(:li,index.name) 

的問題是,我得到這個輸出

<ul> 
    <li> 
     Administrator //correct user name 
    <li> 
    [#&lt;User id: 1, email: "[email protected]", encrypted_password: "$2a...",...;] 
</ul> 

爲什麼顯示整個對象?

回答

4

您應該使用-=之間的這種

%ul 
     - users.each do |user| 
     =content_tag(:li, user.name) 

不同的是,第一不會輸出,但第二個會。因此,- = users.each do |user|呈現了整個實例變量(精確地作爲本地傳遞)

+0

非常感謝你! – user1611830

+0

@MrYoshiji對不起,複製粘貼問題;) – Newben

+0

@MrYoshiji對不起,我想編輯我的,我把東西放在裏面。非常抱歉 ! – Newben

0

由於=登錄在行的開頭。它應該是:

%ul 
    -users.each do |user| 
    =content_tag(:li, user.name) 

我用user被傳遞到塊,可讀性更好的實例變量名。

+0

是的,但是我在部分內容中傳遞了'@ users'作爲本地'user'。那我該如何管理呢? – user1611830

+0

@ user1611830你應該將它作爲'users'傳遞。再看看我的答案。 –

+0

不,然後我得到一個錯誤的方法,告訴我每一個都不被認爲是一種方法 – user1611830