2012-10-04 167 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

相关问题