ruby-on-rails - 不在 Rails Controller 中实现所有 REST 操作是错误的吗?

标签 ruby-on-rails ruby rest scaffolding

假设我有一个 SessionsController,它控制用户登录和注销,但我真正需要的唯一操作是new(用于显示登录表单),创建(用于身份验证和登录)和销毁用于注销用户。

如果我的 Controller 中只有这三个操作,会有什么问题吗?还是我必须全部实现它们才能正确地实现 RESTful?

第二个小问题。有人说脚手架不好,应该手写代码,但我发现它非常有用并且节省时间。

使用脚手架是可以的,还是应该避免的邪恶行为,为什么?

最佳答案

只创建您希望为该资源支持的 RESTful 操作绝对可以。您不必定义所有 7 个操作。事实上,我的大多数 Controller 并没有使用所有 7 个 Action 。

Is it OK to use scaffolding, or is it evil that should be avoided and why?

内置的 Rails 脚手架主要用于帮助开始时起步。出于某些原因,我个人不会将它用于日常开发。

  • 当我想使用现有的应用程序时,它会生成一个 CSS 和布局文件
  • 它生成所有 Controller 操作(就像我说的,我通常不需要所有操作)
  • 它为我几乎不想要的每个操作创建一个 XML 格式
  • 当我同时需要“编辑”和“新建”操作时,它不会将表单放入部分
  • 我有时会使用不同的测试库(例如 Shoulda 或 RSpec)

但是,我喜欢使用脚手架来加快开发速度。这就是我创建 nifty_scaffold generator 的原因我几乎一直都在使用它。不存在上述问题。

关于ruby-on-rails - 不在 Rails Controller 中实现所有 REST 操作是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282399/

相关文章:

c# - WebApi 2 HttpPut、HttpDelete、HttpPost 不起作用 - HTTP 错误 405.0 - 不允许方法

rest - 如何获取sails中action2中的查询参数

ruby-on-rails - rails : must appear in the GROUP BY clause or be used in an aggregate function

ruby-on-rails - 如何让使用 Puma 和 Capistrano 部署的 Rails 应用程序在重启时启动

ruby-on-rails - 如何使用带有 PostgreSQL 的 Rails 通过自定义规则设置自定义序列号

ruby - FactoryGirl 中的 build 和 create 方法有什么区别?

ruby-on-rails - 当没有明确定义的顺序时,什么是默认顺序?

Ruby - 转义正则表达式字符的简单方法

ruby-on-rails - 登录 Sidekiq worker

rest - 如何编辑资源?