rails 3.1
对于admin / sections_contoller ,rake routes
trigger_admin_section GET /admin/sections/:id/trigger(.:format) {:action=>"trigger", :controller=>"admin/sections"}
admin_sections GET /admin/sections(.:format) {:action=>"index", :controller=>"admin/sections"}
POST /admin/sections(.:format) {:action=>"create", :controller=>"admin/sections"}
new_admin_section GET /admin/sections/new(.:format) {:action=>"new", :controller=>"admin/sections"}
edit_admin_section GET /admin/sections/:id/edit(.:format) {:action=>"edit", :controller=>"admin/sections"}
admin_section GET /admin/sections/:id(.:format) {:action=>"show", :controller=>"admin/sections"}
PUT /admin/sections/:id(.:format) {:action=>"update", :controller=>"admin/sections"}
DELETE /admin/sections/:id(.:format) {:action=>"destroy", :controller=>"admin/sections"}
的routes.rb
namespace :admin do
resources :sections do
resources :items
resources :parameters
get :trigger, :on => :member
end
...
end
查看
<%= link_to "Add a section", new_admin_section_path, :class=>'add-btn' %>
生成链接
http://localhost:3000/admin/sections/new
结果
No route matches {:action=>"show", :controller=>"admin/sections",
:id=>#<Section id: nil, ..., meta_description: nil}
奇怪的错误或我的错误。其他控制器有类似的路线,一切正常。 例如:
<%= link_to 'Add a group', new_admin_group_path, :class=>'add-btn' %>
效果很好!
请帮助,否则我有一天会自杀
upd1 使用此应用程序在heroku上遇到同样的问题。
upd2 加入github问题:https://github.com/rails/rails/issues/4704
答案 0 :(得分:1)
我找到了答案。
一旦我将此字符串放入“admin / section / _form”
中<%= link_to 'delete', admin_section_path(@section), :method => :delete, :confirm => "Sure?" %>
我使用此表单进行创建和编辑。因此,新对象和删除链接的组合导致了该错误。 我使用调试器进行分析。
答案 1 :(得分:0)
在sections_controller中查看“create”方法。
我猜您的部分已正确创建,但会重定向到“显示”操作。并且“显示”视图可能不存在。
您检查了数据库吗?该部分已保存吗?