Ruby / Rails命名约定

时间:2012-11-15 18:55:55

标签: ruby-on-rails ruby naming-conventions

如果我生成一个名为"product"的脚手架,当我在编写应用程序时使用它们时,以下内容之间有什么区别? @products@product@Product@ProductsProductsProductproductproducts(我我很确定那些并非全部被使用,但它至少应该提供我所指的内容。

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

3 个答案:

答案 0 :(得分:9)

你可以阅读 Ruby style guideRails style guide,您就可以得到答案。

答案 1 :(得分:5)

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

@products = Product.all
@product = Product.find(1)

如果您不使用'{1}}签署'产品',那么它将仅保存为本地变量,您的视图将无法访问它。

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

@product

答案 2 :(得分:4)

对于Ruby命名约定,您可以在此处查看: http://rubylearning.com/satishtalim/ruby_names.html

至于Rails的命名约定,它的语言是:模型 - 单数,控制器 - 复数,DatabaseTable - 复数(snake_case),视图(目录名) - 复数。 您可以从http://guides.rubyonrails.org/

查看