ActiveRecord:定义关联时,将类而不是字符串传递给class_name

Jum*_*ton 6 activerecord ruby-on-rails associations

在定义关联时,是否存在传递类而不是字符串的含义或陷阱?

belongs_to :owner, class_name: User
Run Code Online (Sandbox Code Playgroud)

相反:

belongs_to :owner, class_name: "User"
Run Code Online (Sandbox Code Playgroud)

mea*_*gar 12

该类可能尚未加载,在这种情况下,您将得到一个NameError: uninitialized constant User.

你应该使用"User"这个原因,正如选项名称暗示的那样::class_name不是:class.