Ich versuche, eine Dropdown-Liste mit Zuständen und bevölkert über die db zu erstellen. Beim Senden möchte ich, dass die App auf die Showroute für Staaten verweist. Leider bekomme ich einen Fehler.Create Rails Formular, das um Route von einer anderen Ressource anzuzeigen durch Auswahl ID
Die routes.rb Datei enthält:
Rails.application.routes.draw do
get 'app/index'
resources :states
root 'beerfinder#index'
end
Die Staaten Controller enthält:
class StatesController < ApplicationController
def show
@state = State.find(params[:id])
end
end
Die App Controller
class AppController < ApplicationController
def index
@states = State.all
end
end
Meine Form für die index.html.erb ist :
<%= form_for :states, :url => states_path(@state) do |f| %>
<%=select_tag 'state', options_from_collection_for_select(@states, 'id', 'full_name')%>
<%= f.submit "Submit" %>
<% end %>
Die State-Tabelle enthält die Felder id und full_name. Derzeit sucht das Formular nach der Create-Route. Wie mache ich diese Route zur Statusansicht, ohne js zu verwenden?
Also, die Get-Anfrage hat versucht und zeigte es auf die Index-Aktion, so dass es nicht ganz da war. Ich habe versucht, es in 'State_path' zu ändern und es jetzt Fehler beim Versuch, das Formular No Route übereinstimmt {: Action => "Show",: Controller => "Staaten",: ID => Nil} fehlt erforderliche Schlüssel: [: id] – notthehoff
Ich sehe das Problem, ich werde die Antwort in Kürze aktualisieren. –
Danke, dass du dir ein paar Gedanken darüber gemacht hast und wenn es keine normale Schienenmagie dafür gibt, denke ich, dass ich einfach die Route gehen und deiner Einschätzung zustimmen kann, dass es einfacher ist, das zu tun. – notthehoff