如何在Rails控制台中查询表格

5
我有一个应用程序,我正在尝试玩弄它并学习更多关于查询等方面的知识(并非我创建的)。所以,它有很多表格。当我进入控制台并询问User.first时,我显然会得到第一个。顺便说一句,你需要将其大写并变成单数形式,对吗?即使表格是小写和复数形式?但是,当我要求例如Tutor_appointment.first时,我得到的是这个:
`NameError: uninitialized constant Tutor_appointment from (pry):25:in `<main>'

甚至可以说,User_profile.first,同样的事情:
`NameError: uninitialized constant User_Profile from (pry):30:in `<main>'

为什么会出现这些错误?

这些是实际的表格,它们确实有数据。

我是否错误地查询了驼峰命名法的表格?

1个回答

6

是的,您是正确的,数据库表名通常是小写且为复数形式。表示这些表的模型类名是大写且为单数形式,没有下划线。

在控制台上执行 User.first 时,它并不直接访问数据库,而是在 User 模型(一个类)上调用 .first() 方法。因此,您需要找到 tutor_appointments 和 user_profiles 表的模型,它们可能被称为 TutorAppointmentUserProfile


Francisco,嗯,我该如何查询表本身呢?当我现在运行users.first时,它给了我一个NameError: undefined local variable or method user' for main:Object from (pry):36:in <main>'的错误提示。 - user273072545345
但仍然想知道如何正确地查询表本身,如果您不介意解释为什么“users.first”没有起作用。 - user273072545345
users.first 不起作用,因为范围内没有 users 变量。在 Ruby on Rails 中,您通过称为 ActiveRecord 的 ORM 访问数据库。User、TutorAppointment 和 UserProfile 模型继承自一个名为 ActiveRecord::Base 的类,该类具有连接和查询数据库的所有魔法。 - Jeff F.
所以,为了查询目的,您查询模型名称? - user273072545345
顺便提一下,再次感谢您解释所有这些。我有一个关于查询TutorAppointments和Users模型的问题。希望您能帮忙,可以吗?我会在几分钟内写出来。 - user273072545345
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接