加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读