Ruby On Rails&与数据库交互

时间:2016-01-24 13:30:37

标签: ruby-on-rails ruby sqlite

如果我不想使用构造函数和编译器,如何为CRUD编写SQL查询?幽灵方法' Rails的概念。 例如。如果我想INSERT INTO值()怎么办 而不是使用Tablename.create()...并保存它..

1 个答案:

答案 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注入保护,验证等。