2013-11-27 58 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'以避免可能的双渲染错误。 –