2011-10-04 58 views
3

我注意到了我一直在使用的教程中的模式。当创建注册表单时,使用UsersController并且总是有特定的操作,例如新的,创建,编辑,更新,销毁。尽管我对使用这些操作的原因有了一些了解,但我发现自己变得困惑。我在哪里可以阅读关于轨道上红宝石的REST?

任何人都可以指向我可以了解REST和“约定优于配置”的文档或截屏视频。看到我进入铁路几个月后,我仍处于学习的早期阶段,现在是适应一些良好习惯的好时机。

我正在注册系统,并已到达构建密码重置阶段。我将着手创建一个密码控制器,但需要有一个用于输入密码的表单。我可以对这个权利使用“new”操作,并创建我的User模型/类的新实例,并将其存储在实例变量@user中,以便我的视图可以访问它。我知道像这样的工作......但不明白为什么它必须在一个新的行动。它不会在一个名为“重置”或“狗”的行动下工作吗?

是否有一个原因,我把代码来帮助创建/存储数据库中的用户创建操作?或者这只是一个很好的做法,因为它能帮助我乍一看明白到底发生了什么?这是否可以利用轨道功能,例如路由...资源?

我试图了解更多..

预先感谢答复..

回答

3

尝试这些这个链接 - http://en.wikipedia.org/wiki/Representational_state_transfer

你会得到一个更好地了解REST的实际含义和为什么它的好。此外,新的操作,编辑,创建,更新,删除,索引只是Rails实现“约定优于配置”的方式。 如果您想使用自定义名称的操作,则需要进行一些配置。

这会帮助你 - http://railscasts.com/episodes/35-custom-rest-actions

让我知道这是有帮助的。

Sahil

2

六个核心REST控制器动作真的很好的Agile Web Development with Rails书定义。这就是我对创建,读取更新,销毁行为,以及我之前所看到但从未理解,编辑和新的行为有非常清晰的理解的地方。我强烈建议将其作为一个起点 - 他们有一个完整的专门部分。

+0

非常感谢,我真的有那本书。我会看一看。 – LondonGuy

+0

@Psychonetics我没有马上拿到它,但我发现编辑/新行动的解释是无价的。其他所有东西都是有道理的,但那些需要一点理由。 – Nic