对于Sqilte3 C API,我会使用sqlite3_last_insert_rowid
。插入新记录后如何使用ActiveRecord获取此ID?我使用以下方式插入新记录:
Section.new |s|
s.a = 1
s.b = 2
#I expected the return value of save to be the last_insert_id, but it is NOT
s.save
end
答案 0 :(得分:2)
'save'方法根据保存是否成功返回true或false 尝试smth像:
new_section = Section.new do |s|
s.a = 1
s.b = 2
s.save
end
p new_section
它应该打印您手动设置的所有字段以及任何自动填充的值,包括last_insert_id通常是记录'id'
答案 1 :(得分:0)
假设您已使用ActiveRecord默认字段名称来保存主键,那么
s.id将保存您刚刚保存的记录的ID。