В моем приложении rails у меня есть стол для фильмов и таблица жанров. Жанры должны иметь конкретный :id
, чтобы связь между фильмами и жанрами могла работать правильно. Я не могу изменить идентификатор жанров.Rails IDs дает 404
Некоторое время назад я создал все жанры в консоли рельсов, как такой
g = Genre.new
g.name = "Action"
g.id = 23
g.save!
g = Genre.new
g.name = "Comedy"
g.id = 1034
g.save!
Это сохраненное и создал Жанры и работал с данным: ид, так что если я пошел/жанры/23 его Я отведу меня в жанр Action.
Перед запуском я сброшу всю базу данных и воссоздал тогда жанры.
Но если я теперь работаю
g = Genre.new
g.name = "Comedy"
g.id = 1034
g.save!
Я получаю 404 ошибку, когда я пытаюсь идти/жанры/1034, но если я перейти на страницу жанров/индексной Комедия по-прежнему в список.
Если я создаю жанр без указания идентификатора, я не получаю сообщение об ошибке.
Я сбросить таблицу Жанровая и я использовал this gem, но я все еще получаю 404. Это как PostgreSQL только вспомнить идентификаторы 1034
и 23
и если я пытаюсь использовать их снова, это дает 404
У кого-нибудь есть решение? Как я могу создать жанры с ранее использовались и уничтожили идентификаторы
Genre.rb
class Genre < ActiveRecord::Base
attr_accessible :name
has_many :movies
end
Жанр # показать
def show
@genre = Genre.find(params[:id])
end
Не удалось добавить трассировку стека или выход журнала из ошибки 404? Я пытаюсь понять, как происходит Genre.find, что приводит к 404. –
Вещь, которая меня сейчас путает, когда я перехожу на страницу 404, а затем запускаю журналы, она говорит, что она не может найти фильм с 'id 13'. Когда я иду в кино/13, он дает мне еще 404. Теперь я уверен, что фильм с id 13 никогда не создавался. PLUS, это странно, что он дает мне 404 на странице жанра, потому что он не может найти фильм, разве он просто не даст мне 500? – PMP
Опубликовать действие вашего контроллера для шоу Жанры #, возможно? –