정상적인 동작 (색인, 표시, 새로 만들기, 편집 등)이있는 표준 사용자 컨트롤러가 있는데 '프로필'이라는 새로운 동작을 추가하려고합니다. 나는 다음과 같은 코드를 추가 : 나는 또한 작업 (응용 프로그램/뷰/사용자/profile.html.erb)에 대한 새로운 뷰를 생성새로운 동작이 작동하지 않습니다.
def profile
@user = User.find(session[:user_id])
end
을,하지만 난 그 페이지를 보려고 할 때마다 오류가 발생합니다 :
를ActiveRecord::RecordNotFound in UsersController#show Couldn't find User with ID=profile ...
분명히 쇼 동작이 발생합니다. 나는 그것이 내가이 길을 만들기 위해 나의 노선에 무언가를 추가해야한다는 것을 의미한다고 생각하지만, 나는 무엇을 모르고있다. 지금까지 난 그냥 두 개의 기본 경로와 내가 주석을 해제 map.root 라인이 있습니다
map.root :controller => "home"
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
을 그래서 정말 두 가지 질문이 : 나는 가능하게하기 위해해야 할 일을
- 을 내 새로운 행동?
- 기존 경로가이 상황을 다루지 않는 이유는 무엇입니까? 컨트롤러와 동작만으로 구성된 다른 URL (예 : http://localhost:3000/users/new). 왜 이것 하나? 컨트롤러 = 사용자, : action = 프로필, : id = nil?
프로필 페이지에서 (현재 로그인 한 사용자 용) 세션에서 ID를 가져 오는 중입니다. 쇼 페이지에서 어떤 사용자도 로그인 할 수있는 사람이 아니기 때문에 사용할 수 있기 때문에 매개 변수에서 가져 오는 동안 . – Jason