如何在rails 4.1中检索自动递增的id?

时间:2014-06-27 07:22:28

标签: ruby-on-rails

目前我正在使用rails 4.1,

我有一个名为accounts.rb的模型,

account = Account.create :name => 'test' :info => 'test'

所以这句话保存到数据库,   然后我使用“account.id”在帐户表中自动增加id。

但这不起作用并显示以下错误,

undefined method `id' for "":String  

但这在rails 1.9版本中有效。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

<强>对象

你的方法似乎是正确的;你的语法似乎有问题

undefined method `id' for "":String

这基本上意味着你在一个对象上调用id方法,该对象只是一个字符串,在那个空字符串。

我会说问题与您的auto increment号码无关,而是与你如何调用新对象的id

-

创建

执行此操作的标准方法是使用以下内容:

#controller
account = Account.create({name: "test", info: "test"})
return account.id

根据create文档,此 应该适合您。如果它没有,您可能希望使用.new.save方法,如下所示:

#controller
account = Account.new({name: "test", info: "test"})
if account.save
  return account.id
end