J'ai créé une application ruby on rails qui permet aux utilisateurs de suivre leurs entraînements. L'utilisateur a_many séances d'entraînement. En outre, un utilisateur peut créer une boîte (gymnase) s'il est propriétaire d'une salle de sport. Les utilisateurs peuvent ensuite s'associer avec cette boîte via une ressource d'adhésion.Suppression d'un enregistrement associé via un remote_form
Je crée cette association pour le current_user avec une forme à distance dans /views/boxes/show.html.erb:
<% remote_form_for Membership.new do |f| %>
<%= f.hidden_field :box_id, :value => @box.id %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= submit_tag "I am a member of this box" , :class => '' %>
<% end %>
Je veux maintenant donner current_user la possibilité de supprimer leur association. Comment puis-je structurer le lien/formulaire et à quoi devrait ressembler l'action destroy de memberships_controller?
Voici une liste de mes associations si elle aide: utilisateur
class User < ActiveRecord::Base
has_many :boxes
has_many :workouts, :dependent => :destroy
end
entraînement
class Workout < ActiveRecord::Base
belongs_to :user
belongs_to :box
end
Box
class Box < ActiveRecord::Base
belongs_to :user
has_many :users, :through => :memberships
has_many :workouts, :through => :users
has_many :memberships
end
membres
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :box
end
Pouvez-vous me donner quelques précisions sur le formulaire? J'ai essayé simplement de changer '<% remote_form_for Membership.new do | f | %> 'à <% remote_form_for Membership.destroy do | f | %> 'mais cela donne un mauvais nombre d'arguments erreur. – bgadoci
Non J'ai une validation qui dit que je ne peux pas avoir plus d'une période d'adhésion. Pourquoi demandez-vous? – bgadoci
Vous avez une erreur ici: 'Impossible de trouver la boîte sans un ID' – bgadoci