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

时间:2012-11-08 17:53:56

标签: ruby ruby-on-rails-3 controller

我不确定这是否是最好的方法,但我有一个控制器,最初我打算控制一个show index,在它上面渲染很多部分(一个标题部分,然后,有一些if else魔术来渲染不同的部分)在用户填写表单的步骤中......表单在多个页面中有许多部分。我认为最终ajax是要走的路,但我还没有达到这一点。我不确定这是正确的方法,所以我想这就是我要问的......对于一个控制器来说,这是多少不同的部分?或者表格数据的每个“页面”是否必须分解为自己的控制器?允许用户填写表格(复选框,评论部分)并点击“下一步”传递他们在整个过程中填写的数据模型,并在下一个中保存该模型?

2 个答案:

答案 0 :(得分:1)

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

然后每个动作只应加载它需要的部分。就像你可以给部分提供动作名称一样,很容易知道要呈现哪个部分。

或许您可以尝试使用wicked

它有一个railscasts

答案 1 :(得分:1)

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

  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