2012-08-23 6 views
0

routes.rb레일 3 라우팅 문제 라우팅 오류

resources :users do 
    resources :requests , :only => [:new,:create,:destroy] 
end 

user.rb

class User < ActiveRecord::Base 
    attr_accessor :password 
    attr_accessible :email, :firstname, :lastname, :state, :city, :password, :password_confirmation, :image 
# mount_uploader :image, ImageUploader 
has_many :requests 

request.rb

class Request < ActiveRecord::Base 
    attr_accessible :email, :status, :user_id 
    belongs_to :user 
end 

사용자 로그인 후 , user.show 페이지에서 내가 링크

<li><span> <%= link_to "Send Request" , new_user_request_path(@user) %> </li> 

내 경로가 올바른 표시되지만 request.new 받고있다 전달하고 있습니다에 표시되지 않는 나는 다음과 같은 오류를 받고 있어요.

라우팅 오류

No route matches {:controller=>"users", :action=>"edit"} 

내가 레일에 새로 온 사람, 어떤 사람은 나를 도와주세요 수 있습니다.

감사

당신이 edit 행동이 아닌 new 조치를 호출하는 것 같습니다
+0

코드 예제를 정리하십시오. 읽기가 매우 어렵습니다. –

+0

코드를 정리하려고합니다. 불편을 드려 죄송합니다. – user501307

+0

액션을 호출하려고합니다. 새 컨트롤러 : 요청 – user501307

답변

0

. 당신이 (요청 자료를 중첩되기 때문에) 사용자와 함께 edit_user_request_path에 요청을 전달해야하기 때문에 즉,이 같은 오류를 설명 할 것 :

edit_user_request_path(@user, @request) 

오류가 실제로에서 오는 wherthe보고 다시 코드를 확인하시기 바랍니다 .

+0

edit_user_request를 원하지 않습니다. 링크를 클릭하면/new를 요청해야합니다. 현재 요청 링크를 클릭하면 url은 다음과 같습니다. http : // localhost : 3000/users/9/requests/new. 페이지에 표시된 오류는 라우팅 오류입니다. {: controller => "users", : action => "edit"}와 일치하는 경로가 없음 사용 가능한 경로에 대한 자세한 내용은 레이크 경로를 실행 해보십시오. – user501307

+0

그런데 왜 오류가'edit' 액션을 말하는 겁니까? 여기에 적어 놓은 것에서 뭔가 빠졌습니다. –

+0

사실 요청이'요청 '컨트롤러로 가야하기 때문에'사용자 '컨트롤러를 말하는 것이 이상하다. 'edit_user_path' 어딘가에'@ user'가 인자로 주어지지 않은 것처럼 보입니다. 여러분이 묘사하고있는 것과 완전히 다릅니다. –