Ich versuche, eine "Tag" -Funktionalität zu erstellen, die es einem Benutzer ermöglicht, Elemente zu markieren, an denen er interessiert ist. Hier ist mein Modell
%Vor% Die entsprechende DB-Tabelle enthält die erforderlichen Felder :user_id
und :item_id
.
In der Liste von :items
möchte ich einen Link neben jedem :item
, mit dem der Benutzer :item
markieren kann. Da ich :user_id
und :item_id
kenne, möchte ich einen neuen Datensatz :tag
erstellen, die ID-Felder festlegen und den Datensatz speichern - alles ohne Benutzereingriff. Ich habe den folgenden Aufruf von link_to
versucht, aber kein Datensatz ist in der Datenbank gespeichert:
(Dieser Code befindet sich in einer @item.each do |item|
-Anweisung, daher ist item.id gültig.)
Dieser Aufruf von link_to
erstellt diese URL:
Dies erzeugt keinen Tag
Datensatz in der Datenbank. Hier ist meine Aktion :create
in tags_controller
Wie kann ich link_to erhalten, um einen neuen Tag-Datensatz zu erstellen und zu speichern?
Die Tatsache, dass die generierte URL eine Methode als Parameter hat, impliziert, dass sie ein GET und nicht POST durchführt.
Die link_to-Signatur, die Sie verwenden müssen, ist link_to(body, url_options = {}, html_options = {})
: Methode sollte an html_options übergeben werden und auf url_options ruhen. Dies sollte funktionieren.
Tags und Links ruby-on-rails-3 link-to belongs-to