Devise gem으로 작업 중이며 사용자를 위해 show
페이지를 만들었습니다. 내 생각은 www.website.com/:id
같은 간단한 경로를 만드는 것이 었습니다 아래와 같이 나는 그것을 구성 :Ruby on Rails에서 라우트 충돌
devise_for :users, path: '', path_names: {sing_in: "login", sing_out:
"signout", sing_up: "signup", edit: "edit"},
:controllers => {:registrations => :registrations }
resources :users, only: [:show]
get '/:id' => 'users#show', as: :profile
내 노선들은 잘 작동하지만 show
페이지 외에, 나는 예를 about
페이지 static controller
아래 페이지를 가지고있다. 나는 여기에 내가 정의하는 방법이다, www.website.com/about
처럼 액세스 할 수있게하려면 내 static routes
: 이제
get '/about', to: 'static#about'
, 내가 about page
로 리디렉션하려고하면, 나는 오류가 점점 오전 :
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with 'id'=about
을 여기 내 users_controller.rb
입니다 :
class UsersController < ApplicationController
def show
@user = User.find_by_id(params[:id])
@services = @user.services
end
...
end
내가 유사한 오류를 검색하려고하지만,이 같은 아무것도 발견하지 않았습니다. 누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?
도움과 시간 보내 주셔서 감사합니다. 여기
귀하의 경로 '수'/ 정보 '에 : /'정적 #의 about''은'도착하기 전에 정의되어야한다 'ID'=> '사용자 # 쇼'로 : : profile' route – lightalloy
정적 페이지 호출에서 사용자 호출 및 문자의 숫자를 예상한다고 가정하면 제약 조건을 사용할 수 있습니다. http://guides.rubyonrails.org/routing.html#specifying-constraints –
@lightalloy 처음 생각했습니다. 저자가 썼 듯이 정적 페이지 컨트롤러를 호출하기 때문에 작동하지 않습니다. –