Interviews_participant コントローラーを使用して、interview_participant テーブルのエントリを削除しようとしています。私は多くの問題を経験しましたが、エラーで立ち往生しています:
InterviewsParticipantsController#destroy の ArgumentError 「引数の数が間違っています (1 に対して 0)」
Interview_participant のモデルは...
class InterviewParticipant < ActiveRecord::Base
belongs_to :interview
belongs_to :participant
attr_accessible :interview_id, :participant_id
そして、interview_participants コントローラーの destroy メソッドは
def destroy
@interview_participant = InterviewParticipant.where(:interview_id => params[:interview_id]).where(:participant_id => params[:participant_id])
@interview_participant.destroy
respond_to do |format|
format.html { redirect_to interview_participant_url }
format.json { head :no_content }
end
end
この destroy メソッドを使用して、interview_participant テーブルの行を削除することにより、インタビューから参加者を削除できるようにしたいと考えています。インタビューの「表示」ビューで、参加者を表示していますが、参加者を削除するボタンが必要です。インタビューのショービューで...
<p>
<b>Participants</b>
<% @interview.participants.each do |participant| %>
<dd><%= participant.name %></dd>
<dd><%= button_to( "Remove", {
:controller => "interview_participants",
:action => "destroy",
:interview_id => @interview.id,
:participant_id => participant.id },
:method => :delete,
:confirm => "Are you sure?"
) %></dd>
<% end %>
</p>
/interview_participants/1?interview_id=3&participant_id=2
URL が(参加者 2 とインタビュー 3 の横にあるボタンを押したとき) であるため、正しい引数を渡していると思います。しかし、ブラウザで「引数の数が間違っています」というエラーが表示されます。私はこれを数時間見てきましたが、何か助けていただければ幸いです。