用于#<userscontroller的未定义方法`user_url':0x007fda4c2c5208> </userscontroller:0x007fda4c2c5208>

时间:2014-02-07 01:49:30

标签: ruby-on-rails ruby routes

我在提交表单后收到此错误。

的未定义方法`user_url'

我没有在路由文件中使用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

1 个答案:

答案 0 :(得分:2)

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

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