在使用Rails时,我正在寻找人们的良好实践示例.
我有一对夫妇,如:
> before_filter调用在控制器类名称声明之下,没有其他地方.
>命名空间的基本控制器名为BaseController,而不是ApplicationController.有和应该永远是只有一个ApplicationController.
> attr_ *方法定义在各自类的顶部.
>模型回调在attr_ *方法之后,或在模型的顶部.
>验证进入模型的顶部,自定义验证方法被定义为文件底部的私有方法.
现在我不是在寻找Ruby的良好做法,更多的是Rails中特定的列表.上面列出的只是一个例子,而不是福音.
*我不想使用“最佳做法”这个术语,最好的意思是终极的,在所有的代码中,人们可能会不同意.
解决方法
我发现一个很一致的做法是括号是合适的. DSL类宏如验证和关联似乎没有他们自然,而具有显式接收器和参数的方法似乎更好.
has_many :users User.find_all_by_field(my_var)
VS
has_many(:users) User.find_all_by_field my_var