我正在编写一个简单的Rails应用程序,我想知道如何命名一个创建帐户的控制器。
一些背景信息:Users
创建一个时间表,并且它是公开可见的。有users
和events
。 event
可以包含多个event_sessions
。这就是它。
在注册过程中,会创建user
,创建event
,并创建sessions
。那么我在哪里,UsersController
?而且,如果帐户创建包含所有其他内容,我是否将其放入新控制器?如果是这样,我该怎么称呼控制器 - ExternalSiteController
? AccountController
?
答案 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