2017-04-22 143 views
0

嘿,我正在使用Rails 5.我试图让我的用户编辑信息,密码等,但当我去这条路线。编辑路由不匹配路由错误GET

http://0.0.0.0:3000/users/edit/1

我得到的错误是 没有路由匹配[GET]“/用户/编辑/ 1”

我确实有与1的ID用户,我已经在我的轨道检查控制台进行验证。

我有一个编辑模板,编辑控制器和控制器中的编辑方法,但它只是不工作。我究竟做错了什么?欢迎所有帮助,谢谢!

ROUTES

Rails.application.routes.draw do 
    # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 
    root 'pages#home' 
    get 'pages/tierlist', to: 'pages#tierlist' 

    resources :articles 

    get 'signup', to: 'users#new' 
    resource :users, except:[:new] 

end 

USERSCONTROLLER

class UsersController <ApplicationController 
    def new 
    @user = User.new 
    end 

    def create 
    @user = User.create(user_params) 
    if @user.save 
     flash[:success] = "Welcome to the OP-OR-Nah Community #{@user.username}" 
     redirect_to articles_path 
    else 
     render 'new' 
    end 
    end 

def edit 
    @user = User.find(params[:id]) 
end 

    private 
    def user_params 
    params.require(:user).permit(:username, :email, :password) 
    end 


end 

edit.html.erb

<h1>Edit your info</h1> 

还当我耙路线,这是我回来

rake routes |grep edit 
    edit_article GET /articles/:id/edit(.:format) articles#edit 
    edit_users GET /users/edit(.:format)  users#edit 
+0

耙路线| grep的编辑 edit_article GET /articles/:id/edit(.:format)的文章#编辑 edit_users GET /users/edit(.:format)用户#编辑 – user3637804

+0

WOW就是这样笑开玩笑我,我忘了s。谢谢! – user3637804

+0

发布它作为答案,所以我可以代您请:D – user3637804

回答

1

您的文件更是打破了路线一个错字不同的方法。

应该

resources :users, except: [:new] 

这条路通常应该像

"https://stackoverflow.com/users/:id/edit" 

当你运行rake:路线。

0

编辑的默认网址是pluralize_model_name/id/edit,所以users/1/edit。无论如何,你写了resource而不是resources,所以我认为你没有那条路线。 resource是产生类似

GET  /user/new 
GET  /user 
GET  /user/edit 
PATCH/PUT /user 
DELETE /user 
POST  /user 
相关问题