http:// localhost:3000 / songs / 10 id错误?

时间:2013-07-17 21:46:37

标签: ruby-on-rails ruby-on-rails-4

在我的应用上提交(创建)歌曲时,我会被重定向到http://localhost:3000/songs/10,但请参阅“该页面未正确重定向”。出于某种原因,song_id为10时应为1,因为我已从数据库中删除了所有歌曲。

如果您查看songs_controller.rb以及songs#show.html.erb,您会看到我认为可能导致问题的代码。我还按照rails.api方向正确关联了所有模型。不知道为什么我在创建歌曲后收到“加载页面错误的问题”消息。我已经研究了Ryan Bates如何做到这一点,我的代码是完全相同的。请告知:)

1 个答案:

答案 0 :(得分:2)

ActiveRecord分配记录的连续ID,从1开始。 即使您删除记录,ID也永远不会回到较低的数字。

因此,如果您添加10首歌曲并删除9首歌曲,然后添加另一首歌曲,该歌曲将获得ID 11。

每个数据库表都会记住哪个是最后一个ID,而下一个ID总是比最后一个ID大+1。