Ich glaube, ich habe ein Routing-Problem: Ich habe eine Funktion, mit der Benutzer eine Überprüfung einer bestimmten Person hinterlassen können. Also habe ich ein Bewertungsmodell und ein Individuumsmodell. Ich versuche, eine Möglichkeit zu finden, bestimmte Rezensionen zu dieser Person zu löschen.Löschen einer Review-Route Routen
routes.rb:
resources :individuals do
collection do
get 'search'
end
collection do
get 'schools'
end
member do
post 'flag', :individuals
end
resources :reviews do
member do
post 'flag', 'vote', 'downvote', :review
end
resources :reviews, only: [:index, :create]
end
end
resources :reviews, only: [:destroy, :update, :edit]
Deshalb glaube ich, wenn ich das richtig gemacht habe ich für die Bewertungen Index verschachtelt werden und erstellen: individuals/1/reviews/2
aber nicht für Aktionen zu zerstören, zu aktualisieren und zu bearbeiten: reviews/1/edit
.
Bewertungen Controller:
def destroy
@review.destroy
respond_to do |format|
format.html { redirect_to @professor, notice: 'Review was successfully destroyed.' }
format.json { head :no_content }
end
end
View.html.rb:
<% if @review.blank? %>
Nothing to review!
<% else %>
<div class="list-group">
<ul class="list-unstyled">
<% @review.each do |review| %>
<li class="list-group-item"> <%= review.comment %> Review Flagged:
<%= pluralize(review.flag, 'time') %>. <%= link_to 'View', professor_review_path(review.professor, review) %>
<%= link_to 'Edit', edit_individual_review_path(review.individual, review) %>
<%= link_to 'Delete', destroy_review_path(review), data: {confirm: "Are you sure you want to delete this review?"} %> </li>
<% end %>
</ul>
</div>
<% end %>
Die Ansicht Seite ich ein
bekommenNoMethodError: undefined method `destroy_review_path' for #<#<Class:0x007fb095e46e28>:0x007fb09d1afdb0>
Did you mean? edit_review_path
ich dies für nicht funktioniert, bekommen haben zu arbeiten Löschen von Personen.
Hey danke Ihnen so sehr. Du hast mir dabei wirklich geholfen, ein anderes Problem, das ich gelöst habe, ist, dass ich eine Vorher-Aktion hatte, die das Individuum veränderte, aber ich änderte es: 'before_action: set_professor,: except => [: flag,: vote,: destroy] 'und es funktioniert jetzt. – tfantina
Hey kein Problem, häkeln Sie dies als Antwort? Auch mit 'before_action, expect: [: action]' finde ich irgendwie gefährlich ... Nicht sicher, was dein Kontext ist, aber ich 100% mache immer 'before_action, only: [: action]' stattdessen. – fbelanger