Возможно простая ошибка маршрутизации: не найдено ни одного маршрута {: action - PullRequest
0 голосов
/ 22 ноября 2011

Я думаю, что-то не так с моим методом создания .

Когда я создаю новое резюме из http://localhost:3000/ или http://localhost:3000/resumes/new,, я получаю ошибку маршрутизации, показанную ниже.


Routing Error
No route matches {:action=>"show", :controller=>"resumes"}

Приложение отправляется по адресу http://localhost:3000/resumes вместо http://localhost:3000/resumes/1. Не знаю, почему.

Вот мой код.

class SubmissionsController < ApplicationController
def create
  @resume = Resume.new(params[:resume])
  if @resume.save
    #UserMailer.created_resume_email(@user).deliver
    redirect_to :action => 'show'
    format.html { redirect_to(@resume, :notice => 'Resume was successfully created.') }
    format.xml  { render :xml => @resume, :status => :created, :location => @resume }
  else
    @title = "Create a new resume"
    render 'new'
  end
end

def show
  @resume = Resume.find(params[:id])
  respond_to do |format|
    format.html # show.html.erb
    format.xml  { render :xml => @resume }
  end
end
end

Leaflet::Application.routes.draw do
  resources :resumes
  match '/' => 'resumes#new'
end

1 Ответ

1 голос
/ 22 ноября 2011

Возможно, я что-то упускаю, но, полагаю, вам нужно изменить свое утверждение redirect_to.

redirect_to resume_url(@resume)

или

redirect_to resume_path(@resume)

Это должно перенаправить пользователя на действие «show» в вашем контроллере с обязательным параметром для определения, какое резюме получить и показать.

http://guides.rubyonrails.org/layouts_and_rendering.html#using-redirect_to

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...