2016-08-03 63 views
0

如何才能显示:accept的对号dueler谁是current_user如何显示对应用户的嵌套属性?

现在有一个check_mark为每个负责人,这意味着不是该负责人的用户可以代表另一个用户接受。

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

决斗/ show.html.erb

<% @duel.duelers.each do |dueler| %> 
    <% if current_user.id == dueler.user_id %> 
     <%= form_for @duel do |f| %> 
      <%= f.fields_for :duelers do |accept_fields| %> # Only Want to Show One Checkmark for current_user.id == dueler.user_id 
      Accept? : <%= accept_fields.check_box :accept %> 
      <% end %> 
      <%= f.submit %> 
     <% end %> 
    <% end %> 
<% end %> 

回答

1

尝试检索只为CURRENT_USER的dueler(使用SQL查询)

在行动

@duel = Dueler.find_by(user_id: current_user.id) 

在视图中

<%= form_for @duel do |f| %> 
    Accept? : <%= f.check_box :accept %> 
    <%= f.submit %> 
<% end %> 
+0

谢谢!这工作,但现在我遇到了一个新问题,如果你想在这里帮助我:http://stackoverflow.com/questions/38753687/routing-error-uninitialized-constant-for-nonexistent-controller :) –