Я предполагаю, что получаю ошибку 500, потому что ваше действие show пытается ссылаться на атрибуты @project
, когда поиск возвращает nil
Вы должны проверить, чтобы убедиться, что @projects
имеет некоторые данные, и иначе вывести 404 вручную. На моем сайте я выполняю пользовательское действие под названием «ошибка» в похожей ситуации:
render :action => 'error', :status => 404 if @projects.blank?
Если существует @projects
, действие show отображается как обычно.