我是新來的rails。我想在我的數據庫結果旁邊輸出我的「_posts」表單。我怎樣才能做到這一點?在一個視圖中生成兩個單獨的.rb文件
我目前得到默認index.html.erb使用兩次,但我想第二個是_form.html.erb文件,這樣我可以寫一個帖子邊看數據庫:
<tr>
<td><%= yield %></td>
<td><%= yield %></td>
</tr>
最後我希望能夠用ajax來刷新表單和列表。但那是爲了以後。
我是新來的rails。我想在我的數據庫結果旁邊輸出我的「_posts」表單。我怎樣才能做到這一點?在一個視圖中生成兩個單獨的.rb文件
我目前得到默認index.html.erb使用兩次,但我想第二個是_form.html.erb文件,這樣我可以寫一個帖子邊看數據庫:
<tr>
<td><%= yield %></td>
<td><%= yield %></td>
</tr>
最後我希望能夠用ajax來刷新表單和列表。但那是爲了以後。
<tr>
<td><%= yield %></td>
<td><%= render :partial => "form" %></td>
</tr>
它看起來像你的_posts形式已經處於局部的,這樣你就可以在模板中包括這部分你的索引頁:
在index.html.erb包括:
<%= render(:partial => "<model-name>/<partial_name>" %>
其中<model_name>
是您的帖子形式參考的模型,<partial_name>
是部分名稱(即您擁有該表格的文件名)
例如
<%= render(:partial => "posts/new" %>
通過在文件名的開頭添加一個下劃線來簡單表示一個部分。即如果在它之前是new.html.erb
,那麼使其爲_new.html.erb
。
有很多很好的信息,諧音和Rails的文檔渲染: http://guides.rubyonrails.org/layouts_and_rendering.html
你需要的是不會產生什麼 - 這通常是在設計上使用 - 但渲染模板。
嗨,謝謝。但是當我使用這個時,我得到的錯誤:「form」的行上的「NilClass:Class」的未定義方法'model_name',它表示:「1:<%= form_for(@word)do | f |%>」這裏錯了嗎? – Benjamin
@Benjamin你需要指定'@ word' – fl00r
抱歉...但是如何?在我的routes.rb文件中?謝謝 – Benjamin