1

我注意到大多数动作都有相同的名称,这样更好吗?有这些名字的清单吗?

例如在控制器中你会看到:

def new
end

def create
end

def destroy
end

etc...

这些特定的操作在 Ruby on Rails 中是否有意义?

谢谢

4

4 回答 4

3

这些是支持 RESTful 的七个默认操作。这些是one-to-oneCRUD 的映射。您可以添加自己的操作方法。

更多信息:Rails 路由

于 2013-04-09T07:20:58.773 回答
3

这些是 CURD 操作的七个操作:索引、新建、创建、显示、编辑、更新和销毁。有时您需要所有这些,有时则不需要。如果您没有在任何控制器中使用所有这些,那么您应该删除额外的方法

于 2013-04-09T07:36:16.097 回答
2

Rails 约定优于配置的规则在这里适用:

这些操作对于 restful 路由映射也很有用,因为许多网站都在其中包含基本的 crud 操作,因此 rails 使开发人员可以轻松地遵循约定并自行摆脱映射路由。

它还取决于您的需求、您是否想要它们的天气,或者您可能需要这些 CRUD 方法的不同名称,在这种情况下,您必须为每个操作手动指定路线。在这种情况下,您没有遵循约定,因为引入了自己的 crud 函数并增加了代码大小。希望现在对你来说听起来不错。

于 2013-04-09T07:51:23.407 回答
0

动作名称与其视图名称相关联。Show action为show view提供,edit action为edit view提供。命名约定允许 Rails 连接您的视图、模型、控制器 (MVC)。您可以拥有自定义操作名称,但最好遵循 rails CRUD。你甚至不需要所有的动作,有时你可能只需要创建和销毁......或其他什么。例如,您不希望将“new”重命名为您认为更好的名称……rails 将使用该操作并寻找名为“new”的操作。

从导轨指南

Active Record supplies a great deal of functionality to your Rails models for free,
including basic database CRUD (Create, Read, Update, Destroy) operations ....
于 2013-04-09T07:29:26.803 回答