Rails - 相同的型号/控制器,但不同的视图

时间:2011-05-02 22:04:54

标签: ruby-on-rails model-view-controller view

我正在构建一个表单向导,引导用户浏览已经创建和部署的表单。模型和控制器应保持相同,唯一的变化是视图(引导用户浏览每个表单域)。完成这项任务的最佳(也是最容易的)方法是什么?

即使通过向导,一旦用户保存表单,它就会通过相同的模型和控制器保存到同一个数据库中。通过一些研究,似乎可以通过显然创建一个新视图,创建一个扩展原始控制器的简单控制器,并将新控制器路由到新视图。

非常感谢任何建议。谢谢!

2 个答案:

答案 0 :(得分:2)

你一定要看这里:

http://railscasts.com/episodes/217-multistep-forms

否则,为了尽快回答,您可以告诉您控制器的任何操作,以呈现您想要的视图。这就是在基本脚手架控制器中完成的操作:

render :edit

答案 1 :(得分:2)

在做了一些研究之后,我想出了几种方法来完成我的任务:

  • 一种简单的方法是在表单的控制器中创建向导操作。让向导操作呈现向导的视图。
  • 更好的方法是创建一个向导控制器并让它为表单控制器的子类。覆盖新操作,并呈现向导视图。这是更优选的方法,因为Rails中的基本CRUD操作可以免费获得REST。因此,遵循此方法将产生RESTful向导。