#<UsersController:0x007fda4c2c5208> 的未定义方法 'user_url'



我提交表格后会遇到此错误。

未定义的方法`user_url'for#

我没有在路由文件中使用resources :users,我想这就是为什么我会遇到错误的原因。

我的routes.rb

TaskManager::Application.routes.draw do
    get "welcome/index"
    root 'welcome#index'
    get 'users/new' => 'users#new'
    post 'users/' => 'users#create'
    post 'users/:first_name' => 'users#show'
end

和我的users_controller.rb

class UsersController < ApplicationController    
def new
  @user = User.new
end
def create
  @user = User.new(user_params)
  @user.save
  if @user.save
    redirect_to @user
  else
  end
end
def show
  @user = User.find(params[:first_name])
end
private
  def user_params
    params.require(:user).permit(:first_name, :last_name, :email)
  end
end

从您的代码中,我猜您想要的路线是post 'users/' => 'users#create'。为了实现这一目标,我应该要做的就是将该行更改为 post 'users/' => 'users#create', :as => 'user'

以供将来参考:http://guides.rubyonrails.org/Routing.html

最新更新