gpt4 book ai didi

ruby-on-rails - Ruby on Rails 外壳 : Why Use Caps Here?

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:23 25 4
gpt4 key购买 nike

Rails 新手问题...

考虑以下代码:

class ArticlesController < ApplicationController
def new
end
def create
@article = Article.new(article_params)
@article.save
redirect_to @article
[...]

我不明白为什么Article.new 中的A 必须大写。所有其他对文章的引用都是小写的。为什么在这种情况下会有所不同?

最佳答案

因为模型 Article 是类。 class(s) 在 Ruby 中是常量。您正在创建模型(类)Article 的实例,然后将该实例保存到数据库中。

在 Ruby 中, 是常量,但是匿名 类或模块不需要总是需要是常量。如果需要,您可以将匿名类分配给常量。

Class::new

Creates a new anonymous (unnamed) class with the given superclass (or Object if no parameter is given). You can give a class a name by assigning the class object to a constant.

曾经,您将它分配给一个常量,它现在不是一个匿名类,因为它有名称。

klass = Class.new
klass.name # => nil

Klass = klass
Klass.name # => "Klass"

同样代表Module::new .

因为你在使用 Rails,所以你应该看看这个 2.1 Naming Conventions .

By default, Active Record uses some naming conventions to find out how the mapping between models and database tables should be created. Rails will pluralize your class names to find the respective database table. So, for a class Book, you should have a database table called books........

关于ruby-on-rails - Ruby on Rails 外壳 : Why Use Caps Here?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24051012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com