2011-07-25 19 views
0

我是新來的鐵軌,我很難找到解決這個問題的解決方案。我通過研究尋找答案,但由於缺乏經驗,我甚至不確定這是否是一種有效的方案。Rails 3 - 創建一個新的帖子,當我在一個特定的帖子的SHOW視圖

  • 我有一個名爲「Post」的模型。
  • 我想使用模態窗體來創建新帖子,而我在某個帖子的SHOW視圖中。
  • 當我在其顯示視圖中查看名爲「John」的帖子時,我想讓用戶從右側創建一個新帖子。

我現在的問題是,新帖子的ID保持相同的帖子,我觀看導致更新動作被解僱,而不是創造

請幫助我解決這個。

回答

3

建立一個新的職位與Post.new和使用,在一個form_for

<%= form_for Post.new %> 
    <%= render "form" %> 
<% end %> 

當然,這意味着你將需要刪除您的形式form_for如果部分你有它在那裏,但是這是一個做出的小犧牲。

但是,如果你真的不想這樣做,那麼你將不得不通過局部變量局部形式來指示你想顯示哪個帖子。在show頁面你有這樣的:

<%= render :partial => "form", :locals => { :post => Post.new } %> 

newedit的觀點,你可以這樣做:

<%= render :partial => "form", :locals => { :post => @post } %> 

該生產線是一個長一點,但是這將讓你將form_for標記保留在表單部分內,並且不會阻塞其他三個視圖。

+0

非常感謝您的快速響應。但我完全不理解這一點。我試過這個(雖然沒有錯誤拋出)郵政沒有創建。另外,我正在使用Modal-Form,並且不打算重定向到_form partial以創建新的Post。你能指導我嗎?再次感謝! – rgoraya

+0

更正:由於我自己的錯誤而導致失敗,我將其重定向到索引(基於當前提交操作的名稱)。底線,問題回答!謝謝瑞恩。 – rgoraya

相關問題