2012-09-08 3 views
0

친구를 만들고 싶습니다. 수락이라는 맞춤 동작을 만들었습니다. 그러나 나는 그것을 도달 할 수 없다. 매번 제가 전화를하면 쇼를 찾을 수 없습니다.맞춤 휴식 액션

여기

resources :friendships do 
    collection do 
     delete 'cancel' 
     get 'accept' 
    end 
    end 

여기 내 route.rb 파일 내가 그것을 호출하는 방법

<%= link_to 'Accept', accept_friendships_path(:friend_id => f) %> 

accept_friendships는 레이크 경로 명령에서 가져 왔습니다. 그리고 여기에 내가 정의하는 방법 내 컨트롤러 동의를 여기

#Accept friendships 
    def accept 
    if @customer.requested_friends.include?(@friend) 
     Friendship.accept(@customer, @friend) 
     flash[:notice] = "Friendship Accepted" 
    else 
     flash[:notice] = "No Friendship request" 
    end 
    redirect_to root_url 
    end 

오류

Unknown action 

The action 'show' could not be found for FriendshipsController 
+0

'rake routes' 명령의 실제 출력도 표시하십시오. 어딘가에 약간의 미스 매치/오타가있을 수 있습니다. – jefflunt

답변

1

어쩌면 내가 잘못,하지만 당신이 원하는 이유 컬렉션을로 "동의 함"? friend_id를 전달하기 때문에 회원이되기를 원합니다. 회원으로 변경하고 경로를 accept_friendship_path(@friendship) [우정의 단수형에주의하십시오]하면 더 운이 좋을 것입니다. 추가 인수 옆에 사례가 Ruby on Rails Guides과 다르지 않으므로 시도해 볼 가치가 있습니다.

+0

인덱스가 있기 때문에 @friendship을 정의하는 방법 – Jseb

+0

마음에 드는 일이 없어도 @friendship 대신 f를 전달해야했습니다. 감사합니다. 2 분 안에 체크 할 것입니다 – Jseb

+0

@Jseb 행복하게 도와 줬습니다! 행운을 빕니다 – mkk