我提交表格后会遇到此错误。
未定义的方法`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