Also sagen wir, ich habe Posts und Kommentare und die URL für die Show ist /posts/1/comments/1
. Ich möchte einen Link erstellen, um diesen Kommentar in der Kommentar-Methode destroy zu löschen. Wie mache ich das?Wie erstellt man einen Löschlink für ein verwandtes Objekt in Ruby on Rails?
Antwort
<%= link_to 'Destroy', post_comment_path(@post, comment),
data: {:confirm => 'Are you sure?'}, :method => :delete %>
in den Kommentaren Controller:
def destroy
@post = Post.find(params[:post_id])
@comment = Comment.find(params[:id])
@comment.destroy
respond_to do |format|
format.html { redirect_to post_comments_path(@post) }
format.xml { head :ok }
end
end
Seit vor einiger Zeit hat die confirm
Option in einem data
Hash enthalten sein, sonst wird es stillschweigend ignoriert:
<%= link_to 'Destroy', post_comment_path(@post, comment),
data: { confirm: 'Are you sure?' }, method: :delete %>
Manchmal Wenn Sie haben <span>
, <i>
oder verschachtelte Elemente innerhalb eines <a>
Tags auf diese Weise link_to verwenden ist diffi Kult. Sie können inseted raw HTML verwenden, die wie so einfach zu handhaben ist:
<a class="btn btn-sm" href="/blogs/<%[email protected]%>" data-method="delete">
<i class="pg-trash"></i><span class="bold">Delete</span>
</a>
In diesen Fällen können Sie ** link_to ** verwenden, indem Sie einen Block übergeben, um den Linknamen zu definieren: <% = link_to @blog, Methode:: löschen, Klasse: "btn btn-sm" do%> < i class = "pg-trash"> Löschen <% end %> –
- 1. Ruby on Rails form_for erstellt leeres Objekt
- 2. Wie erstellt man ein Zip-Archiv mit Ruby on Rails?
- 3. Wie erstellt man eine Massenoperation Transaktionen in Ruby on Rails
- 4. Ruby on rails - Fehlermeldung für ein zugehöriges Objekt anzeigen
- 5. einen Einkaufswagen in Ruby on Rails
- 6. Rails: enthalten verwandtes Objekt in JSON-Ausgabe
- 7. CMS für Ruby on Rails
- 8. Ruby on Rails: Wie man Formulardaten speichert
- 9. Ruby on Rails: Bestätigungsseite für ActiveRecord Objekterstellung
- 10. Wie verwendet man ein anderes Objekt für verschiedene Umgebungen im Controller innerhalb von Ruby on Rails?
- 11. Making ein Objekt (I think object) verknüpfbar - Ruby on Rails
- 12. Curl on Ruby on Rails
- 13. Ruby on rails - Wie man Verbindungszeichenfolgen abruft
- 14. Wie erstellt man einen komplexen Hash in Ruby?
- 15. Implementierungsvoraussetzungen für Ruby on Rails
- 16. Ruby on Rails bilden, anstatt nur/Objekt
- 17. Konfigurieren von Notepad ++ für Ruby on Rails
- 18. Ruby on rails Queing
- 19. varchar Migrationsfrage für Ruby on Rails
- 20. Ruby on Rails Cache
- 21. Ruby on Rails Beziehungen
- 22. Node.js/Express.j oder Ruby on Rails für einen ABSOLUTE Anfänger
- 23. Ruby on Rails Gehäuse/Switch. Wie passt man gegen ein Objekt?
- 24. Ruby on Rails: Wie Tisch für ein neues Modell erstellen
- 25. Ruby on rails Verbindungsproblem
- 26. Wie Patch in Ruby on Rails Affe?
- 27. Ruby on rails Pfadhelfer
- 28. Wie funktioniert Ruby on Rails?
- 29. ruby-on-rails: gravatar_for
- 30. Ruby On Rails Benutzermodell für mehrere Typen
Sie müssen auch sicher sein, dass Sie ein <% = javascript_include_tag: alle%> oder ähnlichen Tag in Ihrem Header. Ansonsten wird der Link dort sein, aber nicht respektieren die: method =>: löschen. Fügen Sie einfach diesen Kommentar, weil das war gerade stumping mich. – lacker
Kurzinfo: 'javascript_include_tag: alle 'ist in Rails> 3.1, das Anwendungslayout Standardeinstellungen mit' = javascript_include_tag "Anwendung", die das gleiche erreichen – tehfoo
Ich stieß auf ein Problem, bei dem meine AJAX-Links Benutzer protokollierten. Am Ende musste ich die CSRF-Tags in das Layout einfügen. Mehr Infos hier: http://stackoverflow.com/questions/6434283/rails-3-ajax-delete-links-log-out-current-user#comment7719982_6507424 Es ist nicht vollständig mit dieser tatsächlichen Frage verbunden, aber einige Leute können hineinlaufen das unerwartet. – Nick