Rails在新控制器中组合RESTful方法
我有一个users
创建projects
的rails应用程序。 目前这些是嵌套的,并作为单独的操作完成( user
注册,然后从project
仪表板创建一个新project
)。
为了改善转化(以及跟踪来自adwords和facebook的转化),我想创建一个名为getting_started
的新视图, user
可以从一个视图中一步注册并创建project
。
在最佳实践方面,我应该为此创建一个新的控制器,而不是仅仅在users
创建新视图吗?
我在这个领域并不是很有经验,但据我工作,
要为单个函数创建新控制器,即与现有控制器100%相关的getting_started没有意义。 我建议放在现有的控制器中。
如果我们谈论效率,这些将花费完全相同的时间。
在我看来,更好的方法是创建另一个控制器。 然后你有更好的代码雾化。 哪个更容易重构。 您可以inheritance此控制器,并使用super
创建用户。
您可以将getting_started
视为users#new
getting_started
的替代方案,因此您可以将其作为新操作添加到UsersController
并添加另一个操作来响应POST并创建具有嵌套项目的用户(我假设您正在填写某种forms,您正在接受User
模型中的嵌套属性)。
在我看来,无需创建新的控制器并inheritance它。