2016-01-24 249 views
-2

如果我不想使用构造函数& ghost方法的Rails概念,如何为CRUD编写SQL查询。例如,如果我想要INSERT INTO值() 而不是使用Tablename.create()...并保存它。Ruby On Rails&与数据库交互

+0

http://stackoverflow.com/q/14824453/438992 –

+0

但是......为什么?你为什么想要? –

回答

0

您可以使用ActiveRecord::Base.connection执行SQL查询。

sql = <<-eos 
    INSERT INTO table_name 
    VALUES (1, 2, 3); 
eos 
result = ActiveRecord::Base.connection.execute(sql) 

然而,除了执行mass insertions of many rows at once也几乎没有一个很好的理由做原始的SQL插入。你放弃了Rails和ActiveRecord所带来的所有好处,例如SQL注入保护,验证等。

+1

(很明显是我提供的链接显示的一个重复;一般来说,最好是标记为愚蠢,而不是愚蠢回答:) –