Ruby/Rails命名约定

det*_*llt 5 ruby ruby-on-rails naming-conventions

如果我生成一个名为的脚手架"product",当我在编写应用程序时使用它们时,下列内容之间有什么区别?@products,@product,@Product,@Products,Products,Product,product,和products(我敢肯定,这些是不是所有的使用,但它至少应该给什么,我指的想法).

我似乎无法找到每个组合@/大写/多元意味着什么的简单解释.非常感谢帮助.

Ale*_*nda 9

您可以阅读 Ruby风格指南Rails风格指南,并获得您的问题的答案.


zar*_*zan 5

唯一保留的单词是大写的Product,这引用了对象模型.例如,要获取所有产品并将其保存在变量中,@products您将执行以下操作:

@products = Product.all
@product = Product.find(1)
Run Code Online (Sandbox Code Playgroud)

如果您没有注销@"产品",那么它将仅保存为本地变量,您的视图将无法访问它.

在此示例中@products,@product您是在控制器中声明的变量.你可以使用:

@lotsofproducts = Product.all
Run Code Online (Sandbox Code Playgroud)