2012-10-04 43 views
0

在active_admin泛音創建一個表單輸入:沒有路由匹配[PUT]錯誤active_admin

<%= semantic_nested_form_for @item, :url => admin_items_path(@item) do |f| %> 
    <fieldset class="inputs"> 
    <ol> 
     <%= f.input :category %></br> 
     <%= f.input :title %> 
     <%= f.input :photo1 %> 
     <%= f.input :photo2 %> 
    </ol> 
    </fieldset> 
    <%= f.fields_for :ItemColors do |i| %> 
    <fieldset class="inputs"> 
     <ol> 
     <%= i.input :DetailColor %> 
     <%= i.input :size, :input_html => { :size => "10" } %> 
     <%= i.link_to_remove "remove" %> 
     </ol> 
    </fieldset> 
    <% end %> 
    <%= f.link_to_add "add", :ItemColors %> 
    <%= f.actions %> 
<% end %> 

創建一個新的項目好創建並引發關於新項目,但如果我不更新現有產品發生路由到一個錯誤,而這樣的路徑存在:

No route matches [PUT] "/admin/items.150" #150 is item_id 

耙路線:

batch_action_admin_items POST /admin/items/batch_action(.:format) admin/items#batch_action 
admin_items GET     /admin/items(.:format)    admin/items#index 
POST       /admin/items(.:format)    admin/items#create 
new_admin_item GET    /admin/items/new(.:format)   admin/items#new 
edit_admin_item GET    /admin/items/:id/edit(.:format)  admin/items#edit 
admin_item GET     /admin/items/:id(.:format)   admin/items#show 
PUT        /admin/items/:id(.:format)   admin/items#update 
DELETE       /admin/items/:id(.:format)   admin/items#destroy 

有助於解決這個親blem

UPD

我發現了錯誤,但尚不清楚如何解決它

升級是一個請求:

PUT "/admin/items.150" 

但應:

PUT "/admin/items/150" 

我不明白地址在哪裏ppears「。」

回答

1

你的形式提交與:method => POST數據,而你的路線期待PUTPOST只匹配

POST /admin/items(.:format) admin/items#create 

所以認爲你的ID是一個.:format參數。因此失敗。您需要將表單方法更改爲PUT而不是POST

+0

如果我設置的方法提出:錯誤更新不會改變,有行動創造條件相同的時候。如果我設置post方法錯誤更新是:無法找到ID = 12的ItemColor對於ID = – Alex

+0

的項目我在日誌中查找,使用默認的方法更新 – Alex

0

你應該能夠只是這樣做:

<%= semantic_nested_form_for [:admin, @item] do |f| %> 

由於@cdesrosiers指出,No route matches [GET] "/items/152"錯誤您以後得到的是可能是因爲你重定向到@item在控制器createupdate行動,當你實際上需要這樣做:

redirect_to admin_item_path(@item) 
+0

然後:沒有路由匹配[GET]「/ items/152「 – Alex

+0

啊......那麼你需要':method =>:put',但是當然這對你期望POST的'create'行爲不起作用。所以...嘗試'semantic_nested_form_for [:admin,@item]'沒有url –

+0

然後也得到... – Alex

相關問題