기본 앱이 있으며 meeting_id와 participant_id (meeting_participants의 열)를 기반으로하는 meeting_participants 테이블의 레코드를 삭제하려고합니다.컨트롤러에 대한 경로 변경
내 meeting_participants_controller에서 destroy 작업을 변경하여 meeting_id 및 participant_id를 수락하고 적절한 레코드를 삭제했습니다.
def destroy
session[:return_to] = request.referer
@meeting_participant = MeetingParticipant.find_by_meeting_id_and_participant_id(params[:meeting_id], params[:participant_id])
@meeting_participant.destroy
redirect_to session[:return_to]
end
은 내가 다음 코드를 사용하여 # 컨트롤러를 파괴 meeting_participants 전화를 사용하고자하는 뷰에 버튼이 있습니다. 대신 id 매개 변수 :
<table>
<% @participants.each do |participant| %>
<tr>
<td><%= participant.name %></dt>
<td>
<% participant.meetings.each do |meeting| %>
<%= meeting.name %>
<%= button_to("Remove Meeting",
{:controller => "meeting_participants",
:action => "destroy",
:meeting_id => meeting.id,
:participant_id => participant.id },
:method => :delete,
:confirm => "Are you sure?") %>
<br/>
<% end %>
</td>
</tr>
<% end %>
</table>
은 내가 성공적으로 컨트롤러에 대한 올바른 participant_id 및 MEETING_ID 매개 변수를 보내고 있지만 meeting_participants 번호 내 경로 하나를 기대하고 파괴하기 때문에 나는 "아니 경로 일치"오류가 발생하고 있다고 생각합니다. 갈퀴 노선은 ...
meeting_participant DELETE /meeting_participants/:id(.:format) meeting_participants#destroy
내 경로를 변경하는 방법에 대해 알고있는 사람이 있습니까? 아니면 더 나은 방법이있을 수도 있습니다. 나는 경로가 매우 혼란 스럽다는 것을 안다.
감사합니다.
내 routes.rb 파일은
MyApp::Application.routes.draw do
resources :meeting_participants
resources :participants
resources :meetings
end
routes.rb를 게시 할 수 있습니까? 여기에서 들어오는 요청의 매개 변수를 변경해야합니다. –