Rails为一个模型的两种形式

时间:2013-11-27 15:29:06

标签: ruby-on-rails forms

使用两种不同形式编辑一个模型的不同字段集的最佳方法是什么。

要求:

  • 我想要两个视图:每个视图都有一个用于编辑不同字段的表单
  • 我想将一个模型连接到数据库。

我正在考虑两种方式:

1 - 一个控制器,有两组方法,如

def edit1 .. 端

def update1 .. 端

def edit2 .. 端

def update2 .. 端

手动添加相应的路线。

2 - 两个控制器和路径的“资源”,如:

路线:

资源:mymodelset1

资源:mymodelset2

控制器:

class mymodelset1Controller< ApplicationController中

class mymodelset2Controller< ApplicationController中

2 个答案:

答案 0 :(得分:1)

您不需要对控制器,模型或路线做任何奇怪的事情,它将“开箱即用”。 唯一需要注意的是在每种情况下解析相应的编辑视图。

您可以使用

指示要在编辑操作中呈现的模板
if your_condition
  render: 'edit1' and return
else
  render: 'edit2' and return
end

答案 1 :(得分:0)

您尝试过Reform Rails

在这种情况下,它确实非常有效