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

时间:2016-08-02 22:15:34

标签: ruby-on-rails ruby model-view-controller undefined

获取错误:undefined method 'dueler'

duel has_many duelers

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

决斗/ show.html.erb 中的决斗:accept怎么样?

<% @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 %>

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我认为你让自己变得复杂 明确您拥有的模型和关系以及需要更新的列,然后编辑您的问题。然后我可以帮忙。