我有一个像这样的哈希:
{
"feid"=>32,
"fid"=>11,
"fipl"=>11,
}
我想将每个值保存到数据库中相应的列。
我知道我可以做以下事情
record = Metric.new
record.feid = hash['feid']
record.fid = hash['fid']
record.fipl = hash['fipl']
record.save
但是我的哈希值比 3 个元素长得多,必须有更简单的方法!
最佳答案
有。对于新记录(一次性创建、分配和保存到数据库):
record = Metric.create(hash)
创建和分配而不保存:
record = Metric.new(hash)
对于现有记录,分配并保存:
record.update_attributes(hash)
以及不保存的分配:
record.assign_attributes(hash)
注意:
如果保存失败(例如,由于验证失败),保存方法(create
和 update
)不会引发异常。保存悄然失败。如果您想在发生这种情况时获得异常,请使用 banged 版本:create!
和 update_attributes!
关于ruby-on-rails - 如何将哈希值插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169776/