【发布时间】:2016-04-30 19:19:31
【问题描述】:
如果我不想使用 Rails 的构造函数和幽灵方法的概念,如何为 CRUD 编写 SQL 查询。 例如。如果我想 INSERT INTO Values() 而不是使用 Tablename.create()...并保存它..
【问题讨论】:
-
但是……为什么?!为什么要这样做?
标签: ruby-on-rails ruby sqlite
如果我不想使用 Rails 的构造函数和幽灵方法的概念,如何为 CRUD 编写 SQL 查询。 例如。如果我想 INSERT INTO Values() 而不是使用 Tablename.create()...并保存它..
【问题讨论】:
标签: ruby-on-rails ruby sqlite
您可以使用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 注入保护、验证等。
【讨论】: