2016-01-24 248 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

(很明顯是我提供的鏈接顯示的一個重複;一般來說,最好是標記爲愚蠢,而不是愚蠢回答:) –