2013-11-27 89 views
0

有兩種不同的形式來編輯一個模型的不同組字段的最佳方式是什麼?一個模型的軌道兩種形式

要求:

  • 我想有兩個觀點:每個視圖有一個表單編輯不同領域
  • 我想有一個模型連接到數據庫。

我想到的方法有兩種:

1 - 一個控制器兩套方法,如

高清EDIT1 .. 結束

高清UPDATE1 .. 結束

def edit2 .. end

DEF UPDATE2 .. 端

手動添加相應的路由。

2 - 兩個控制器和 「資源」 像路線:

路線:

資源:mymodelset1

資源:mymodelset2

控制器:

類mymodelset1Controller < ApplicationController的

class mymodelset2Controller < ApplicationController

+0

您是否嘗試過在controllers.I不同動作的模板認爲,這可能有助於 –

回答

1

您不需要對您的控制器,模型或路線做任何奇怪的事情,它就會「開箱即用」。 唯一需要注意的是在每種情況下解析相應的編輯視圖。

可以指示呈現到您的編輯行動

if your_condition 
    render: 'edit1' and return 
else 
    render: 'edit2' and return 
end 
+0

好主意。由於我不受歡迎,因此您應該依賴來自URL編輯的標誌:像edit_model_url(:flag =>'fields1')。 –

+0

是的,無論你有什麼需求。更多信息在這裏:http://guides.rubyonrails.org/layouts_and_rendering.html#using-render –

+0

編輯:添加'和return'以避免可能的雙渲染錯誤。 –