我得到這個錯誤:Couldn't find User with 'id'=sign_up
當我試圖去localhost:3000/users/sign_up in我的URL瀏覽器。Ruby on Rails 4:設計用戶控制器,找不到用戶'id'= sign_up
我有生成的單獨的用戶控制器...
我這樣做:
rails g devise:controllers users
rails g controller Users show
我沒有碰,是由色器件所產生的控制器。
在我所創建的普通用戶控制器,我有這樣的:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
在我的路線:
devise_scope :user do
get 'users/:id' => 'users#show', as: :user
end
devise_for :users
我rake routes
看起來是這樣的:
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
user GET /users/:id(.:format) users#show
它使感覺爲什麼我得到一個錯誤,因爲:id是我的URL中的sign_up,我只是沒有得到我應該做的事情來修復 這個。
當然,它會永遠給我任何錯誤後本地主機:3000 /用戶/因爲在用戶控制器我的表演方法的id
改變你的路線的順序讓'devise_for:users'在devise_scope之上,然後嘗試 – Deep
@Deep沒有工作。我不認爲這個順序很重要? – hellomello
當我們有類似的路線時它很重要。 – Deep