RoR:在控制器中执行SQL [英] RoR: Execute SQL in controller

查看:12
本文介绍了RoR:在控制器中执行SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在RoR中,在控制器中,我们可以看到如下行:

def index
    @books = Book.all
end

如何将@book=Book.all替换为实际的SQL查询,如SELECT*FROM BOOK

我尝试了如下操作,但没有成功:

def index
    sql = 'Select * from books'
    @books = ActiveRecord::Base.connection.execute(sql)
end

在浏览器中,我看到以下错误消息:

#Hash:0x00007f8dbae412f0的未定义方法`title‘

推荐答案

按活动记录查找_by_sql方法是可行的。

def index
    @books = Book.find_by_sql('Select * from books')
end

引用:https://guides.rubyonrails.org/active_record_querying.html#finding-by-sql

这篇关于RoR:在控制器中执行SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆