在我的 rails 应用程序中,我有一个 Movies 表和一个 Genres 表。流派需要具有特定:id
性,这样电影和流派之间的关联才能正常工作。我无法更改流派 ID。
不久前,我在 Rails 控制台中创建了所有类型
g = Genre.new
g.name = "Action"
g.id = 23
g.save!
g = Genre.new
g.name = "Comedy"
g.id = 1034
g.save!
这保存并创建了流派并使用给定的 :id,所以如果我去 /genres/23 它将带我到动作流派。
在启动之前,我重置了整个数据库并重新创建了流派。
但如果我现在跑
g = Genre.new
g.name = "Comedy"
g.id = 1034
g.save!
当我尝试转到 /genres/1034 时收到 404 错误,但如果我转到流派/索引页面,Comedy 仍在列出。
如果我在没有指定 id 的情况下创建流派,我不会收到错误消息。
我已经重置了 Genre 表并且我使用了这个 gem ,但我仍然得到 404。这就像 PostgreSQL 只记住 ids 1034
,23
如果我再次尝试使用它们,它会给出 404
有人对此有解决方案吗?如何使用以前使用和销毁的 ID 创建流派
流派.rb
class Genre < ActiveRecord::Base
attr_accessible :name
has_many :movies
end
类型#show
def show
@genre = Genre.find(params[:id])
end