Dans mes rails App, j'ai une table de films et une table Genres. Les genres doivent avoir un :id
spécifique afin que l'association entre les films et les genres puisse fonctionner correctement. Je ne peux pas changer l'identité des genres.Rails ID donne 404
Il y a quelque temps j'ai créé tous les genres dans la console de rails en tant que tels
g = Genre.new
g.name = "Action"
g.id = 23
g.save!
g = Genre.new
g.name = "Comedy"
g.id = 1034
g.save!
Cela a sauvé et créé les Genres et a travaillé avec le donné: id, donc si je suis allé à/genres/23 il Je vais m'emmener au genre d'action.
Avant le lancement, j'ai réinitialisé toute la base de données et recréé ensuite les genres.
Mais si je cours maintenant
g = Genre.new
g.name = "Comedy"
g.id = 1034
g.save!
je reçois une erreur 404 quand je tente d'aller/genres/1034, mais si je vais aux genres/page d'index, la comédie est encore Cotée.
Si je crée un genre sans spécifier l'ID, je ne reçois pas d'erreur.
J'ai remis à zéro le tableau de genre et je l'ai utilisé this gem mais je reçois encore 404. Il est comme PostgreSQL est seulement se souvenir des ids 1034
et 23
et si je tente de les utiliser à nouveau, il donne une 404
Quelqu'un at-il une solution à ce problème? Comment puis-je créer des genres avec précédemment utilisé et détruit ID
Genre.rb
class Genre < ActiveRecord::Base
attr_accessible :name
has_many :movies
end
Genre # montrent
def show
@genre = Genre.find(params[:id])
end
Pourriez-vous ajouter une trace de pile ou une sortie de journal à partir de l'erreur 404? J'essaie de comprendre comment se produit le genre.find qui aboutit à un 404. –
La chose qui me déroute maintenant, c'est quand je vais sur la page 404 et ensuite exécuter les journaux, il est dit qu'il ne peut pas trouver un film avec 'id 13'. Quand je vais au cinéma/13 cela me donne un autre 404. Je suis maintenant certain que ce film avec id 13 n'a jamais été créé. PLus c'est bizarre que ça me donne un 404 sur la page de genre parce qu'il ne peut pas trouver un film, ne devrais-je pas m'en donner un 500? – PMP
Publiez votre action de contrôleur pour Genres # show, peut-être? –