我建議將簡單資源與嵌套資源分開。那麼你只需要處理一種路線(簡單路線)。從管理員:: Base的控制器一樣繼承你的控制器:
class Admin::BaseController < ApplicationController
# abstracted admin logic
end
class Admin::PeopleController < Admin::BaseController
end
class Admin::CategoriesController < Admin::BaseController
end
,並在視圖中使用多態pathes像:
<%= link_to 'all', @model_object.class.name.underscore.pluralize %>
<%= link_to 'show', @model_object %>
<%= link_to 'new', [:new, @model_object] %>
<%= link_to 'edit', [:edit, @model_object] %>
<%= link_to 'delete', @model_object, method: :delete %>
<%= form_for @model_object do |f| %>
<!--Create or Update form for model object-->
<% end %>
也瞭解多態路線:Simple RESTful Ruby on Rails routes。
如果可能,我會使用現有的管理寶石,如ActiveAdmin或RailsAdmin。它們通常足夠了。
你在使用STI嗎?或者爲什麼你的模型對象可以全部輸入或不輸入? – 2014-09-11 06:42:43
我正在看的代碼使用DRY控制器。哪些工作正常,但在某些地方有太多的巫術正在進行。希望有一種更簡單的方法來檢測收集路線。 – Dolbery 2014-09-11 07:08:34