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