Meine AnsichtMein Code überspringt die Ansicht und geht direkt in den Controller. Ruby on Rails
<h1>Return a Book</h1>
<%= form_tag("/orders/returnB", method: "get") do %>
<div class="form-group">
<%= label_tag :ID, "ID" %>
<%= text_field_tag :ID, nil, class: "form-control" %>
</div>
<%= submit_tag "Submit", class: "btn btn-default" %>
<% end %>
Mein Controller
def returnB
getid = params[:ID]
@order = Order.find(getid)
@order.destroy
respond_to do |format|
format.html { redirect_to orders_url, notice: 'Order was destroyed.' }
format.json { head :no_content }
end
end
sein Gehen, nur direkt an den Controller und als mein Controller nicht die ID bekommen konnte, so dass es einen Fehler geben. Also ich dies in meiner Route tue:
get 'orders/return' => 'orders#returnB'
Was meinen Sie es "direkt an die Steuerung geht"? Alles geht zuerst zum Controller. Welche URL triffst du? Wie sieht dein Routing aus? Ich würde auch stark darüber nachdenken, mit normalen Namenskonventionen für Parameter fortzufahren. Und richtig einrücken. –
Das liegt daran, dass Sie es geroutet haben, um zur Methode 'returnB' des Controllers zu gehen. Schienen treffen immer zuerst den Controller. Sie sollten auch keine get-Anfrage verwenden, um eine Bestellung zu vernichten. Können Sie erklären, welche Funktionalität Sie erreichen möchten? Sie möchten die Ansicht anzeigen, dann füllt der Benutzer das Formular aus und bei der Einreichung wird die Bestellung vernichtet? –
in Sicht Sie erwähnen Methode:: Get und im Controller einige Operation zu tun –