2014-03-26 47 views
0

我有一個嵌套的模型表格喂兩個表。我在帖子表單中嵌套了我的位置字段。如何在show.html.erb文件中顯示嵌套數據?我如何在嵌入式窗體中顯示數據?

<h1>My Update</h1><br> 
<p>my status: <%= @post.status %></p> 
<p>this is the upload: <%= link_to @post.upload, @post.upload %></p> 
<p><%= @place.address %></p> 

我在最後一行發現了「NoMethodError in Posts#show」錯誤。

它說:「對於零未定義的方法`地址:NilClass」如果你想看到所有的代碼

,我只是推到github上。 http://bit.ly/1dsu94Y

+0

錯誤提示'@ place'爲零。你是否檢查過你的控制器動作來呈現這個視圖? – vee

+0

我在代碼中添加了'code @place = Place.find params [:id]'。它看起來像我的表格不填充數據庫中的位置表... – paris

+0

您的routes.rb也是無效的,對於嵌套的資源,您應該使內部資源塊內的帖子資源,把做結束後發佈資源 – Abk

回答

0

您不會在您的PostsController#show method中加載@place實例變量。一旦你在show方法中加載了它,但是你需要根據你的應用程序的數據,模型等來做,你將不會再收到錯誤。

+0

好吧 - 我在代碼中添加了@place = Place.pluck params [:address]' – paris

+0

它看起來像我的表單沒有將地址保存到Places表格...所以我還添加了'code @ post.place = PostsController中的Place.new params [:address]'#create method – paris

1

更新

<p><%= @place.address %></p> 

隨着

<p><%= @post.place.address %></p> 

由於您沒有設置@place實例變量,你所得到的錯誤。 看着你的代碼,我看到你有PlacePost模型之間的關係1-M模型。 因此,爲了顯示特定post所屬的placeaddress,您可以按照上述方法進行操作。

+0

謝謝!這就說得通了。我添加了它。 – paris

+0

@siriusparis如果它解決了您的問題,請接受答案。 –

相關問題