簡體   English   中英

active_admin中沒有路由與[PUT]錯誤匹配

[英]No route matches [PUT] error in active_admin

在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

幫助解決這個問題

UPD

我找到了錯誤,但還不知道如何解決

升級是一個要求:

PUT "/admin/items.150"

但應:

PUT "/admin/items/150"

我不明白該地址出現在哪里。

您的表單正在使用:method => POST提交數據,而您的路線希望使用PUT ,則POST僅匹配

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

因此,它認為您的ID是.:format參數。 因此失敗了。 您需要將form:method更改為PUT而不是POST

您應該能夠做到這一點:

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

作為@cdesrosiers指出, No route matches [GET] "/items/152"錯誤,您隨后得到的是可能是因為你重定向到@item在你的控制器createupdate的動作,當你真正需要做的是:

redirect_to admin_item_path(@item)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM