如何在父展示页面中更新子模型的属性?未定义的方法

How to update attribute of child model in parent show page? Undefined Method

获取错误:undefined method 'dueler'

A duel has_many duelers.

Dueler.last
 id: 20,
 user_id: 78,
 challenge_id: 178,
 duel_id: 13,
 accept: nil>

决斗者如何:accept决斗duels/show.html.erb?

<% @duel.duelers.each do |dueler| %>
  <%= dueler.user.name %> <%= dueler.user.last_name %> will <%= dueler.challenge.name %><br>
  <% if current_user.id == dueler.user_id %>
    # undefined method 'dueler' for #<Duel:0x007ffd32ae2400>
    <%= form_for(@duel.dueler) do |f| %> 
        <%= f.check_box :accept %>
    <% end %>
  <% end %>
<% end %>
The loser(s) will <%= @duel.consequence %><br>
If everyone succeeds they will <%= @duel.reward %>

我怀疑您需要使用 fields_for 标签 看看这个:http://apidock.com/rails/ActionView/Helpers/FormHelper/fields_for

我觉得你自己把事情弄复杂了 清楚您拥有的模型和关系以及您需要更新的列,然后编辑您的问题。那我可以帮忙