Ruby on rails Rails-相同型号/控制器,但视图不同

Ruby on rails Rails-相同型号/控制器,但视图不同,ruby-on-rails,model-view-controller,view,Ruby On Rails,Model View Controller,View,我正在构建一个表单向导,引导用户浏览已经创建和部署的表单。模型和控制器应该保持不变,因为唯一需要更改的是视图(引导用户通过每个表单字段)。完成这项任务的最佳方式(如果可能,也是最简单的方式)是什么 即使通过向导,用户保存表单后,表单也会通过相同的模型和控制器保存到相同的数据库中。通过做一点研究,显然可以创建一个新视图,创建一个扩展原始控制器的简单控制器,并将新控制器路由到新视图 非常感谢您的建议。谢谢 你一定要看看这里: 否则,为了简短回答,您可以告诉控制器的任何操作以呈现所需的ay视图。这是

我正在构建一个表单向导,引导用户浏览已经创建和部署的表单。模型和控制器应该保持不变,因为唯一需要更改的是视图(引导用户通过每个表单字段)。完成这项任务的最佳方式(如果可能,也是最简单的方式)是什么

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


非常感谢您的建议。谢谢

你一定要看看这里:

否则,为了简短回答,您可以告诉控制器的任何操作以呈现所需的ay视图。这是在基本脚手架控制器中完成的操作:

render :edit

你一定要看看这里:

否则,为了简短回答,您可以告诉控制器的任何操作以呈现所需的ay视图。这是在基本脚手架控制器中完成的操作:

render :edit

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

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

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

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

@a我可以创建一个FormWizard控制器,将ApplicationController子类化,而不是将原始控制器子类化(我们称之为Form controller)。从那里,我可以指定我希望FormWizard有哪些操作,每个操作都可以呈现特定的视图。这是一个好方法吗?如何将新控制器/视图链接到表单模型?@a在将FormWizard控制器和视图链接到表单模型方面处于领先地位,我认为这很简单,只需在FormWizard控制器中创建一个实例变量,并让它通过活动记录拉入和推送数据。这是一种继续进行的方法,但我不确定是否需要它,原因有两个:1)一般来说,向导不会在两页之间保存模型,而只保存在表单末尾,这就是他们的目的,而这个屏幕演示成功了2)一个向导应该只有一个url。否则,您正在编写一个多页表单,这也很好:)@a阅读视频不是我想要做的。我的项目有一个两页的表格。我的目标是在网站上创建一个向导部分,将用户带到同一表单,但带有工具提示,引导用户浏览整个表单。当用户在向导中输入信息时,它仍然会将数据保存到数据库中,就像他们在填写原始表单一样(没有向导/工具提示)。唯一改变的是视图(JavaScript交互,CSS)。这有意义吗?我很感激任何反馈或建议。好的,明白了。因此,好的,为每个页面创建操作和视图,并在wizzarf和普通表单之间重构(如果可能):@apreading不是对原始控制器(我们称之为表单控制器)进行子类化,我可以简单地创建一个将ApplicationController子类化的FormWizard控制器。从那里,我可以指定我希望FormWizard有哪些操作,每个操作都可以呈现特定的视图。这是一个好方法吗?如何将新控制器/视图链接到表单模型?@a在将FormWizard控制器和视图链接到表单模型方面处于领先地位,我认为这很简单,只需在FormWizard控制器中创建一个实例变量,并让它通过活动记录拉入和推送数据。这是一种继续进行的方法,但我不确定是否需要它,原因有两个:1)一般来说,向导不会在两页之间保存模型,而只保存在表单末尾,这就是他们的目的,而这个屏幕演示成功了2)一个向导应该只有一个url。否则,您正在编写一个多页表单,这也很好:)@a阅读视频不是我想要做的。我的项目有一个两页的表格。我的目标是在网站上创建一个向导部分,将用户带到同一表单,但带有工具提示,引导用户浏览整个表单。当用户在向导中输入信息时,它仍然会将数据保存到数据库中,就像他们在填写原始表单一样(没有向导/工具提示)。唯一改变的是视图(JavaScript交互,CSS)。这有意义吗?我很感激任何反馈或建议。好的,明白了。所以,好吧,为每个页面创建操作和视图,如果可能的话,在wizzarf和普通表单之间重构:)