我想構建一個包含狀態和通過數據庫填充的下拉列表。提交時,我希望該應用直接顯示各州的展示路線。唉,我得到一個錯誤。創建導軌形式,通過選擇ID重定向顯示另一個資源的路由
的的routes.rb文件包含:
Rails.application.routes.draw do
get 'app/index'
resources :states
root 'beerfinder#index'
end
的狀態控制器包含:
class StatesController < ApplicationController
def show
@state = State.find(params[:id])
end
end
該應用程序控制器
class AppController < ApplicationController
def index
@states = State.all
end
end
我對index.html.erb形式:
<%= 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 %>
狀態表包含id和full_name字段。目前,該表單查找創建路線。如何在不使用js的情況下將這條路徑設置爲狀態視圖?
因此,get請求確實嘗試並將其指向索引操作,所以它不在那裏。我嘗試將其更改爲'state_path'並且它現在嘗試呈現表單時出錯 沒有路由匹配{:action =>「show」,:controller =>「states」,:id => nil}需要的鍵:[:id] – notthehoff
我看到問題了,我馬上更新答案。 –
謝謝你的一些想法,如果沒有任何正常的鐵軌魔術,我想我可能只是走js路線,並同意你的估計,這樣做更簡單。 – notthehoff