我注意到我一直在使用的教程中的模式。当正在创建注册表单时,使用UsersController并且总是存在特定的动作,例如新的,创建,编辑,更新,销毁。虽然我对使用这些动作的原因略有理解,但我确实发现自己变得困惑。
任何人都可以指向我的文档或截屏视频,在那里我可以了解REST和“约定优于配置”。看到我已经进入轨道几个月了,我还处于学习的早期阶段,现在是养成一些好习惯的好时机。
我正在开发一个注册系统,并已达到构建密码重置的阶段。我将开始创建密码控制器,但随后需要有一个表单供用户输入密码。我可以为此权限使用“new”操作并创建我的User模型/类的新实例,并将其存储在实例变量@user中,以便我的视图可以访问它。我知道像这样的工作..但不明白为什么它必须在一个新的行动。在“重置”或“狗”的行动下,它不会起作用吗?
我是否有理由将代码放在create action下帮助在数据库中创建/存储用户?或者这只是一种很好的做法,因为它有助于我乍一看究竟发生了什么?是这样我可以利用路由功能,例如路由......资源?
我想了解更多..
提前感谢您的回复..
答案 0 :(得分:3)
试试这个链接 - http://en.wikipedia.org/wiki/Representational_state_transfer
您将更好地了解REST实际意味着什么以及为什么它的优点。此外,新操作,编辑,创建,更新,删除,索引只是Rails实现“约定优于配置”的方式。 如果要使用自定义名称的操作,则需要进行一些配置。
这可以帮助您 - http://railscasts.com/episodes/35-custom-rest-actions
如果这有用,请告诉我。
萨赫勒
答案 1 :(得分:2)
六本核心REST控制器操作在Agile Web Development with Rails一书中已经明确定义。这就是我对创建,读取更新,破坏动作以及我之前看到但从未理解,编辑和新的动作的非常清晰的理解。我强烈推荐它作为起点 - 它们有一个专门的部分。