Diese Frage scheint lächerlich einfach, aber ich bin festgefahren.Rails 3, Ändern eines bestimmten Wertes in einer Zeile
Lets sagen, dass wir eine Tabelle „Bücher“ haben
Jedes Buch, hat einen Namen, eine Beschreibung und einen Status.
Nehmen wir an, ich möchte Link in der Show-Ansicht erstellen, die beim Klicken nur den Status ändert (zum Beispiel "lesen").
Bisher habe ich versucht, einen Block in der Steuerung das Hinzufügen, das sagt:
def read
@book = Book.find(params[:id])
@book.status = "Read"
@book.update_attributes(params[:book])
respond_to do |format|
format.html { redirect_to :back}
format.xml { render :xml => @book }
end
end
Dann habe ich einen Link zu der Ansicht hinzugefügt, die wie ist: <% = link_to "Read" , read_book_path (@book),: methode =>: put%>
Dies funktioniert überhaupt nicht. Ich habe es meinen Routen hinzugefügt, aber es scheint nicht wichtig zu sein.
Jede Hilfe wäre großartig! Vielen Dank!
-Elliot
EDIT: Vergessen Ich erhalte eine NoMethodError hinzuzufügen: nicht definierte Methode `read_book_path‘
hey Seth, Danke für die Antwort! Als ich es genau so versucht habe, wie du es gesagt hast, bekomme ich anscheinend den gleichen NoMethodError: "undefined Methode' read_book_path 'für " – Elliot
Eigentlich funktionierte es! Ich hatte Sammlung in meiner Route statt Mitglied! Vielen Dank! – Elliot
überprüfen Sie Ihre Pluralisierung. Ressourcen: Bücher. Run "Rake Routen" von der Konsole und poste es bitte – sethvargo