1

我注意到大多数动作都有相同的名字,这样更好吗?有这些名字的清单吗?RoR命名约定的方法?

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

def new 
end 

def create 
end 

def destroy 
end 

etc... 

做这些具体行动抱Ruby on Rails中一个目的是什么?

谢谢

+0

自动生成的脚手架提供了简单的CRUD,但是如果你想(或需要)做一些不同的事情,没有真正的理由不要 – bdares 2013-04-09 07:32:52

回答

3

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

更多信息:Rails routing

0

动作名称与他们的观点名关联。显示操作提供了显示视图,编辑视图的编辑操作。命名约定允许轨道连接你的视图,模型,控制器(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 .... 
3

这些七项行动凝乳操作:指数,新,创建,显示,编辑,更新和销毁。有时你需要所有这些,有时候不需要。如果您没有使用所有这些在任何控制器,那么你应该删除多余的方法

2

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

这些行动也为宁静的路线映射有用,因为很多网站包括基本的crud操作,因此rails可以让开发人员轻松遵循约定并自己摆脱映射路线。

它也取决于您的需要,天气您想要或不需要,或者您可能需要为这些CRUD方法使用不同的名称,在这种情况下,您必须为每个操作手动指定路由。在这种情况下,你并没有遵循惯例,因为通过引入你自己的crud函数并增加你的代码大小。希望你现在听起来不错。