如何逐步查询rails中的SQL?

时间:2015-04-01 19:48:22

标签: sql ruby-on-rails activerecord

我一直在网上寻找一个没有运气的答案。我在哪里输入我的查询?在轨道c?我知道我必须使用ActiveRecord :: base.connection,但我必须在哪里运行才无能为力。对不起,如果这是一个愚蠢的问题。

1 个答案:

答案 0 :(得分:6)

Rails使用名为ActiveRecord的ORM与SQL数据库进行交互:

http://guides.rubyonrails.org/active_record_basics.html

语法很简单,您可以通过使用rails console(缩写为rails c)打开rails控制台来输入查询。

例如,如果我想查找问题表中的所有记录,我打开控制台只需输入Question.all

irb(main):001:0> Question.all

...转换为以下SQL查询:

Question Load (4.2ms) SELECT 'questions'.* FROM 'questions'

如果要在rails控制台中执行原始SQL命令,可以将ActiveRecord::Base.connection.execute(some_string)与SQL一起用作字符串对象。

您可以直接将SQL字符串作为参数编写,或者事先将其声明为变量:

sql = "some raw sql"
ActiveRecord::Base.connection.execute(sql)

查看此问题了解更多信息:Rails raw SQL example