目前我正在使用rails 4.1,
我有一个名为accounts.rb
的模型,
account = Account.create :name => 'test' :info => 'test'
所以这句话保存到数据库, 然后我使用“account.id”在帐户表中自动增加id。
但这不起作用并显示以下错误,
undefined method `id' for "":String
但这在rails 1.9版本中有效。
请帮帮我。
答案 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