2010-12-16 54 views
2

我有這個安裝在我的路線:我的編輯和新操作應該重新使用相同的視圖嗎? (編輯後)

namespace :admin do 
    resources :posts 

    end 

所以在我的管理/ posts_controller.rb我有我新,創建和編輯的操作。

我想以某種方式重新使用我的新的和編輯視圖頁面,b/c頁面爲表格定製了javascript等等,我不想重複自己。

我該怎麼做?

即對於編輯頁面,我必須預先填充表單字段,並且新頁面應該是空的。

對於新的頁面,它應該發佈到'創建'動作,並且對於編輯,我認爲它應該發佈到不同的'更新'動作(這是根據我的耙路線的PUT請求)?

回答

3

Rails是相當聰明,喜歡

<% form_for post do |f| %> 
<% end %> 

形式將張貼到創建行動,如果post.new_record? == true和更新操作,否則。

因此,您可以將表單放入部分內容中,並將其呈現在您的新/編輯視圖中,這可能會有不同的標題和複製。

或者,您可以只擁有一個視圖並根據post.new_record?執行您自己的邏輯 - 但我建議不要這樣做,因爲最終會出現不必要的複雜視圖。

相關問題