2014-09-24 87 views
0

我有一個窗體在我的rails應用程序中創建一個新的Category(new.html.erb),該應用程序在另一個視圖(panel.html.erb)中有GET鏈接。HTML窗體不能在rails中工作

POST正常工作,當我直接在瀏覽器地址欄中輸入url來創建一個新類別,但每當我嘗試通過鏈接訪問panel.html.erb中的新類別表單(new.html.erb) ,表單呈現,但數據不提交。
我已經定義了路由作爲

get '/catagories/new' 

新類別的形式和

post 'catagories/create' 

創建一個新的類別。我是Rails的新手,真的不明白我的代碼有什麼問題

回答

3

默認情況下,rails表單提交到/categories而不是categories/create(Restfull路由)。你應該有你的路由被定義爲一個資源:

resources :categories 

如果要覆蓋默認的(不建議初學者),你可以在你的form_tag做到這一點:

<%= form_for @category, url: '/categories/create' %> 

注但是,這會使得以後更改此URL變得更加困難(因爲現在有兩個地方需要更改,路由和表單)。那麼你應該使用命名的路線:

post 'catagories/create', as: :create_category 

然後:

<%= form_for @category, url: create_category_path %>