Rails控制器的最佳名称?

时间:2015-07-28 00:50:47

标签: ruby-on-rails controller

我正在编写一个简单的Rails应用程序,我想知道如何命名一个创建帐户的控制器。

一些背景信息:Users创建一个时间表,并且它是公开可见的。有userseventsevent可以包含多个event_sessions。这就是它。

在注册过程中,会创建user,创建event,并创建sessions。那么我在哪里,UsersController?而且,如果帐户创建包含所有其他内容,我是否将其放入新控制器?如果是这样,我该怎么称呼控制器 - ExternalSiteControllerAccountController

2 个答案:

答案 0 :(得分:1)

如果您没有account模型(在这种情况下AccountsController将是完美的),我会将代码放在UsersController中。 User可能是这三者中最复杂和最重要的模型(毕竟user的注册是踢掉所有东西的原因)。当然,您可以在任何控制器中创建任何对象(即,您可以在User.create()中调用EventsController)。

答案 1 :(得分:1)

我会从以下内容开始,并根据需要进行调整:

class UsersController < ActionController::Base
  def create
    # ...
    User.create(user_params)
    # ...
  end
end

class User < ActiveRecord::Base
  after_create :setup_initial_event
  has_many :events

  DEFAULT_EVENT_PARAMS = {
    # ...
  }

  def setup_initial_event
    events.create(DEFAULT_EVENT_PARAMS)
  end
end

class Event < ActiveRecord::Base
  after_create :setup_initial_sessions
  belongs_to :user
  has_many :sessions

  def setup_initial_sessions
    # You get the idea
  end
end