ActionController::ParameterMissing in DuelersController#update
param is missing or the value is empty: dueler
어떻게 사용자가 클릭 할 때 "동의"또는 "거절"그래서이 :accept
param이 (가) 없거나 값이 비어 있습니까?
Dueler.last
id: 20,
user_id: 78,
challenge_id: 178,
duel_id: 13,
accept: nil>
형태
<%= form_for @dueler do |f| %>
<%= f.button "Accept", name: "button_action", value: "accept" %>
<%= f.button "Decline", name: "button_action", value: "decline" %>
<% end %>
duelers_controller의 값을 변경합니다 오류를 수정할 수 있습니다 .rb
def update
if params['button_action'] == 'accept'
@dueler.accept = 1
else
@dueler.accept = 0
end
@dueler.update(dueler_params)
redirect_to :back
end
def dueler_params
params.require(:dueler).permit(:id, :duel_id, :user_id, :challenge_id, :accept)
end
터미널
Processing by DuelersController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"zn6Z9XuCQ2JahhtrZzFpEl3ENe+bcmOdDH/gz6VZ4p0mnRvgwpixdF2uA/sFgaQZFu2dEKR0DivQpJLqu96pxg==", "button_action"=>"accept", "id"=>"15"}
매개 변수가 내가 어떤 오류가 발생하지 않는 check_mark
로 :accept
에 제출할 때처럼 보이는 방법이됩니다 :
Processing by DuelersController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"KWDac1I2rNRZd6oeCan0F7qlNY4c5K5vd6U988MJ6n3Bg1hm6yxewl5fso5rGTkc8YydcSPiw9mrfk/W3Y6hJg==", "dueler"=>{"accept"=>"1"}, "commit"=>"Update Dueler", "id"=>"15"}
'옵션 3'이 완벽하게 작동했습니다. 추가 설명을 제공해 주셔서 감사합니다! –