2012-04-01 73 views
0

我想知道如何將對象傳遞給partial,然後又傳遞給另一個partial? 即時追隨邁克爾哈特爾書,這是一個可選的練習,但一直是超級卡住。rails將對象傳遞給partials,然後傳遞給另一個partial

,如果我有一個..

<%= form_for(@user) do |f| %> 
    <%= render 'fields', object: f.object %> 

<% end %> 
從書

,它說要使用一個哈希等於物體和關鍵等於我們要在局部變量的名稱值。因此,在_fields.html.erb手段,重點「對象」應該存在的,它應該具有的f.object

<%= render 'shared/error_messages', object: ?????? %> 

<%= object.label :name %> 
<%= object.text_field :name %> 

<%= object.label :email %> 
<%= object.text_field :email %> 

的值,但是當我嘗試檢索的關鍵,我上線的錯誤

<%= object.label :name %> 

它說

undefined method `label' for #<User:0x007f86000110c0> 

爲什麼它扔了嗎?我以爲我可以把鑰匙作爲「對象」來引用。

此外,我一直卡在什麼取代??????用。複製上面的錯誤,我拿出了??????但它會拋出另一個錯誤,從未來的部分說'對象'是未定義的。我不能使用像f.object之類的東西,因爲f不再存在。我怎麼能得到的價值傳遞到下一個部分?

非常感謝=)

回答

2

嗯,你正在傳遞object: f.objectf.objectUser。因此,您嘗試撥打object.label,但User沒有label方法。如果您通過object: f.object, f: f,那麼您可以撥打f.label

+0

這是完全有意義的。謝謝! 我最終填寫了????????與'對象',一切正常。非常感謝! – Sasha 2012-04-01 10:07:43

相關問題