ruby-on-rails – 没有路由匹配{:action =>“show”,:contr
发布时间:2020-12-17 03:03:25 所属栏目:百科 来源:网络整理
导读:各位大家好,我有这个问题(帖子标题). Failure/Error: get :create,:user = { :email = 'foo@example.com',:name = 'userexample' }ActionController::RoutingError:No route matches {:action="show",:controller="user",:id=nil} 这是我的UserController. c
各位大家好,我有这个问题(帖子标题).
Failure/Error: get :create,:user => { :email => 'foo@example.com',:name => 'userexample' } ActionController::RoutingError:No route matches {:action=>"show",:controller=>"user",:id=>nil} 这是我的UserController. class UserController < ApplicationController def new end def create @user = User.new(params[:user]) @user.save redirect_to :action => :show,:id => @user.id end def show @user = User.find(params[:id]) end end 这是我的routes.rb ::Application.routes.draw do devise_for :users root :to => "user#index" resources :user #match "newuser" => "user#new" get "user/new" post "user/create" get "user/:id" => "user#show" 这是我的rspec测试 require 'spec/spec_helper' describe UserController do it "create new user" do get :create,:name => 'userexample' } flash[:notice] = 'new user was successfully created.' end end end 解决方法if @user.save redirect_to :action => :show,:id => @user.id else ... end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |