Rails 约定汇总

六 30th, 2011

约定优于配置是Rails三大哲学之一。Rails中充满了很多约定,本页面对遇到的约定做一个总结。

单复数的约定

Model用单数因为它表示一个对象如User,
数据库表用复数因为它存放的是对象的集合,
Controller用复数因为它是对对象集合的操作


Routes.rb中定义session一般用resource :session,而不是普通的resources :sessions。因为一般只会操作当前用户的session,不会操作所有session,所以不能定义为复数。
即如果一个请求一个资源时不需要指定ID,就在routes中用单数,如/profile显示当前登录用户的信息,这样你可以使用单数的/profile而不是/profile/:id。
也可以用match “profile” => “users#show”

其它

Controller中可以用变量request,然后可以得到session, request_info, head, method等请求信息
.与#使用惯例:在阅读书时经常会遇到User.all, users#show这样的表示,其中的点.与井号#使用也是有约定的,点.用于调用类方法,井号#用于调用实例方法。

标签:
>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:Rails 约定汇总
  1. Yulk
    二 23rd, 201201:31

    数据库表用复数因为它存放的是对象的集合,原来是因为这个原因啊。