我正在尝试通过 interviews_participants 控制器删除 interview_participant 表中的一个条目。我已经解决了许多问题,但遇到了一个错误:
InterviewsParticipantsController#destroy 中的 ArgumentError “参数数量错误(0 代表 1)”
interview_participant 的模型是...
class InterviewParticipant < ActiveRecord::Base
belongs_to :interview
belongs_to :participant
attr_accessible :interview_id, :participant_id
并且 interview_participants 控制器中的销毁方法是
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
我希望能够通过这种销毁方法删除 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>
我认为我传递了正确的论点,因为我的 URL 是/interview_participants/1?interview_id=3&participant_id=2
(当我按下参与者 2 和采访 3 旁边的按钮时)。但是我在浏览器中收到“错误数量的参数”错误。我已经看了几个小时了,非常感谢任何帮助。