Ruby on rails 3 使用create自动生成ID!块模型

Ruby on rails 3 使用create自动生成ID!块模型,ruby-on-rails-3,Ruby On Rails 3,我试图在我的模型中使用以下内容: create!( :title => entry.title, :link => entry.url, :published_date => entry.published, :entry_id => entry.id, :category => thing, :author => entry.author, :user_id => user.

我试图在我的模型中使用以下内容:

create!(
  :title         => entry.title,
  :link          => entry.url,
  :published_date => entry.published,
  :entry_id         => entry.id,
  :category => thing,
  :author => entry.author,
  :user_id => user.id
)
由于id列被设置为0,因此在添加超过第一个条目的内容时,此操作失败,原因是键“PRIMARY”的重复条目“0”。有没有办法使用上述代码自动增加id


谢谢

在创建新实例时,您不需要手动指定ID;Rails将自动创建自动递增列,以便为您生成唯一的ID


在这种情况下,如果您篡改了ID列并更改了它的类型,重置它的最简单方法就是重新创建表。

您究竟为什么要将ID列设置为0?id应该是自动递增的列,完全由数据库处理。@sevensacat当我什么都不做时,id会自动设置为0。这是为什么?你对你的模式做了什么?@sevensacat我什么都不知道。有一次我确实把ID列改成了字符串(不要笑),但后来我又把它改成了整数。我不是在笑,我是在拍我的额头。当你这么做的时候,你有没有把它重新设置成自动递增的?