Ruby Rails3:用于表单数据提交的一个控制器和多个部分

Ruby Rails3:用于表单数据提交的一个控制器和多个部分,ruby,ruby-on-rails-3,controller,Ruby,Ruby On Rails 3,Controller,我不确定这是否是最好的方法,但我有一个控制器,最初我打算控制一个显示索引,在其上呈现多个部分(一个标题部分,然后,有一些if-else魔术,根据用户填写表单的步骤呈现不同的部分…一个表单有多个页面的多个部分)。我认为最终阿贾克斯是一条道路,但我甚至还没有达到这一点。我不确定这是正确的方法,所以我想这就是我要问的。。。对于一个控制器来说,许多不同的部分是这样的吗?或者表单数据的每个“页面”都必须分解到自己的控制器中吗?允许用户填写表单(复选框、注释部分),然后单击“下一步”,传递他们正在填写的数据

我不确定这是否是最好的方法,但我有一个控制器,最初我打算控制一个显示索引,在其上呈现多个部分(一个标题部分,然后,有一些if-else魔术,根据用户填写表单的步骤呈现不同的部分…一个表单有多个页面的多个部分)。我认为最终阿贾克斯是一条道路,但我甚至还没有达到这一点。我不确定这是正确的方法,所以我想这就是我要问的。。。对于一个控制器来说,许多不同的部分是这样的吗?或者表单数据的每个“页面”都必须分解到自己的控制器中吗?允许用户填写表单(复选框、注释部分),然后单击“下一步”,传递他们正在填写的数据模型,并在每个下一步中保存该模型?

U可能不需要几个控制器,但一个带有一些操作的控制器可能是一个好的开始。=)

然后,每个操作应该只加载它需要的部分。like u可以为片段指定动作名称,这样就很容易知道要渲染哪个片段

或者你可以试着使用


它有一个简单的方法。

好吧,你可以用一种方法来决定渲染哪个部分。 使用此示例或执行一些元编程

  class YourController < ApplicationController
       def index
          render :partial => partial_selector(param)
       end

       private
       def partial_selector param
          #logic to decide what partial do render
          #returns the partial name
       end
 end
class YourControllerpartial_选择器(参数)
结束
私有的
def部分选择器参数
#决定要渲染哪些部分的逻辑
#返回部分名称
结束
结束

听起来你需要一个状态机来处理这个问题。有各种各样的gem就是为了这个目的而写的,还有rails中包含的一个…好吧,有什么名字可以让我马上到google开始研究吗?这个过程很简单,只是不知道如何以rails的方式完成。最糟糕的情况是,我可以用索引/显示视图等将其分解成单独的控制器,但这似乎不是正确的方法。宝石似乎是最受欢迎的。我试过了,但我一定是做错了。。。。是否可以将一个分部渲染到特定的div,是否重新加载页面?我需要ajax来完成这项工作吗?到目前为止,路由一直是我的问题。我在当前控制器中有一个show动作,它来自另一个控制器,模型数据已传入,这是正确的!然后,当我接管它,并想开始浏览这些表单页面…该方法不再适用…你将不得不为每个新表单页面创建另一个操作。并因此为每个人提供了一条新的路线。然后在每一个u上渲染不同的部分。查看我的帖子编辑。与邪恶同行。它非常适合,尽管我在传递id时遇到了一些问题(它上的rails显示他使用当前的用户方法使用它,我需要传递对象id,这已经被证明是困难的,因为参数[:id]是为步骤页面保留的,它将要)哦,到目前为止很好。。