Ich lerne Ajax von Zeit zu Zeit, die übrigens großartig ist, also bin ich nicht wirklich ein Experte davon. Also brauche ich einen Ratschlag.Ändern Sie eine partielle mit AJAX
Ich baue gerade ein Gruppensystem. Ich habe ein Tab-System, um Ihre eigenen Gruppen und die anderen zu unterscheiden. Was ich versuche zu wissen, ist ein Ajax zu schreiben, um meine Teilgruppe von einem Reiter zum anderen zu schicken. Zum Beispiel, wenn der Benutzer eine Gruppe beendet, wird es von meinen Gruppen verschwinden, um in der Registerkarte andere angezeigt zu werden.
Ich bin der erste Schritt gelungen, aber ich weiß nicht wirklich, wie ich das Formular in die andere Registerkarte senden kann. Wie Sie unten sehen können, habe ich versucht, die ID zu senden, aber es gibt keine Teilform include. Es wird nur die ID meiner Gruppe gerendert. Irgendwelche Ratschläge, die Teil (_group2.html.erb) enthalten?
Mein Code:
Index (Gruppe):
<div class="panel-body">
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1default_group" style="padding:0px;">
<div class="group_area">
<% @my_groups.each do |group| %>
<div class="group_box<%=group.id%>">
<%= render 'group', group: group %>
</div>
<% end %>
</div>
</div>
<div class="tab-pane fade in" id="tab2default_group" style="padding:0px;">
<div class="group_area2">
<% @groups_out.each do |group| %>
<div class="group_box2<%=group.id%>">
<%= render 'group2', group: group %>
</div>
<% end %>
</div>
</div>
</div>
</div>
rem_req.js.erb (Gruppe):
$(".group_box<%[email protected]%>").fadeOut();
$(".group_area2").append('<%= render partial: @group2 %>');
Groups_controller:
def rem_req
if @group.groupes_admin.count == 1 && @group.groupes_admin.where(user_id: current_user).any?
flash[:error] = "Vous devez définir un nouvel Admin ou supprimer ce groupe"
else
RemReqGroupJob.perform_later(current_user, @group)
flash[:error] = "Vous ne faites plus parti de #{@group.name}"
@group2 = Group.where(id: @group.id).last
end
respond_to do |format|
format.html { redirect_back }
format.js
end
end
Und wenn ich versuche, dies zu laufen, ich habe diesen Fehler:
ActionView::Template::Error ('nil' is not an ActiveModel-compatible object. It must implement :to_partial_path.):