Rails从用户控制器的单独控制器中启动向导?

时间:2012-01-21 23:44:25

标签: ruby-on-rails wizard controllers

我有一个Rails站点,需要在用户首次注册后使用大型jQuery向导填写许多表单字段。首先,我将所有“入门”(在用户首次登录时执行)包含在用户控制器中的特定代码中,如下所示:

Class UsersController < ApplicationController
  def new
    @user = User.new
  end
  def getting_started



 def getting_started
    @user = User.find(current_user.id)
    unless @user.employees.length == 15
      15.times { @user.employees.build }
    end
  end
end

我的问题是,如果入门方法开始变得相当大,我应该将入门方法分离到它自己的控制器吗?这样做的“轨道方式”是什么?

1 个答案:

答案 0 :(得分:0)

大小不是新控制器的指示 - 控制器目的指示新控制器。如果它与User无关,并且与其自身是一个类似实体的新控制器。如果它只是User数据,那么它应该保留。

如果您关注的是简单的尺寸,则取决于此。如果代码直接作用于User,则它可能属于User模型。如果不是,则它属于private方法或其自己的库。

如果没有关于getting_started实际执行的更多细节,则很难更具体。