我有一个导航应用users
创建projects
。目前这些是嵌套的,并作为单独的操作(A user
注册表完成,然后从project
信息中心创建一个新的project
。)
要改善转化(以及跟踪adwords和facebook的转化),我想创建一个名为getting_started
的新视图,user
会在一个步骤中注册并创建project
从单一的角度来看。
就最佳做法而言,我应该为此创建一个新的控制器,而不是仅仅在users
中打一个新视图吗?
答案 0 :(得分:0)
在我看来,更好的方法是创建另一个控制器。然后你有更好的代码原子化。哪个更容易重构。您可以继承此控制器,并使用super
创建用户。
答案 1 :(得分:0)
我在这个领域并不是很有经验,但就我的工作而言,
为单个函数创建一个新控制器,即与现有控制器100%相关的getting_started没有意义。 我建议放在现有的控制器中。
如果我们谈论效率,这些将花费完全相同的时间。
答案 2 :(得分:0)
您可以将getting_started
视为users#new
的替代方案,因此您可以将其添加为UsersController
的新操作,并添加其他操作以响应POST并创建用户使用嵌套项目(我假设您正在填写某种形式,并且您正在接受User
模型中的嵌套属性)。
在我看来,无需创建新的控制器并从中继承。