0

假设我有一个 ruby​​ 哈希:

person={:name=>:Alex,:age=>10}

我希望我可以调用这样的 API:

db.save :people, person

它将在 mysql 数据库上执行以下 SQL:

insert  nto people (name,age) values ('Alex',10)

这可以通过使用导轨或其他红宝石宝石来实现吗?

4

2 回答 2

1

你可以调用 ClassName.create!(your_hash),所以在你的场景中它看起来像这样:

Person.create!(person) # to create a record right away

或者

person = Person.new(person) # to initialize the object first

person.save #  and then save it

无需使用任何外部 gem,这是标准的 ActiveRecord,Rails 核心库之一。

于 2012-07-12T02:10:58.343 回答
0

类人 < Activerecord::Base end

将 Person 类放在模型文件中。对应的表名应该是persons,它是模型名的复数形式,首字母小写。只需查看 Rails 的约定。

现在试试

Person.create!(attributes).

属性就像列名对应的值。

例子

{:name => 'sandip'}  #here name is the column name and value is the 'sandip'
于 2012-07-13T02:41:24.177 回答