2016-08-03 13 views
0

Wie kann ich nur das :accept Häkchen für die dueler wer ist die current_user?Wie verschachtelte Attribute für den entsprechenden Benutzer angezeigt werden?

Im Moment gibt es einen check_mark für jeden Dualer, was bedeutet, dass ein Benutzer, der nicht der Dueler ist, im Namen des anderen Benutzers akzeptieren kann.

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

Duelle/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 %> 

Antwort

1

nur versuchen, die dueler für die current_user (mit einer SQL-Abfrage)

in der Aktion abzurufen

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

in der Ansicht

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

Vielen Dank! Das hat funktioniert, aber jetzt bin ich auf ein neues Problem gestoßen, wenn du mir hier helfen willst: http://stackoverflow.com/questions/38753687/routing-error-uninitialized-constant-for-nonexistent-controller :) –

Verwandte Themen