0
我有什麼似乎我作爲一個奇怪的路由錯誤,我似乎無法解決。我正在使用Rails 4.2.6併爲客戶生成一個腳手架。我能夠查看客戶的列表,但是當我編輯的客戶我得到一個錯誤路由錯誤更新/創建記錄
No route matches [POST] "/customers/49"
一切幾乎是創造了什麼腳手架,雖然我沒有改變我的路線是:
resources :customers do
resources :comments, only: [:new, :create, :edit, :update]
end
但我用腳手架默認也嘗試過,並收到相同的錯誤。
這些航線爲客戶提供:
customers GET /customers(.:format) customers#index
POST /customers(.:format) customers#create
new_customer GET /customers/new(.:format) customers#new
edit_customer GET /customers/:id/edit(.:format) customers#edit
customer GET /customers/:id(.:format) customers#show
PATCH /customers/:id(.:format) customers#update
PUT /customers/:id(.:format) customers#update
DELETE /customers/:id(.:format) customers#destroy
的「編輯」頁面生成的HTML表明它是一個POST請求
<form class="edit_customer" id="edit_customer_49" action="/customers/49" accept-charset="UTF-8" method="post">
與同爲
「新」頁面<form class="new_customer" id="new_customer" action="/customers" accept-charset="UTF-8" method="post">
大多數情況下,一切都是腳手架產生的,所以我不知道爲什麼我會得到t他錯了。爲什麼使用POST生成的HTML以及如何才能使其工作?
感謝您幫助Rails新手。
UPDATE 好了,在我的模型我有
CUSTOMER_TYPE = ["A", "B"]
在我的編輯/新形式,我有這樣的:
<%= f.label :customer_type %>
<%= f.select :customer_type, Customer::CUSTOMER_TYPE, {include_blank: true}, {index: nil} %>
如果我把上面這行我的形式,編輯和新形式都可以正常工作!?
這是一個POST表單,但該方法應該作爲PATCH來通過。你生成的HTML是否有一行像''? – GoGoCarl
是@GoGoCarl,我明白了。 '
麥克你知道嗎? – bkunzi01