我有2個版本的顯示產品列表的同一索引頁。 常規視圖 - 顯示一覽表 管理視圖 - 顯示的選項來編輯列表,刪除等Rails - 來自同一動作(索引)的多個視圖(管理員,常規)
索引動作只是使數據庫查詢並返回該實例變量。 目前,我有相同的索引操作來渲染索引頁面。我想將索引操作表單產品重用到管理控制器中。
def index
@products = Product.all
end
路線:
/product/index => product#index
/admin/product/index => product#index
我試圖給出[這裏prepend_view_path技術| How can I intercept rails's template rendering,但這樣總是會在兩種情況下都呈現admin/product/index.html.erb文件。
我想要的產品#指數控制器#動作來呈現:
/index.html.erb用於/產品/指數
和
/管理/產品/index.html.erb for/admin/product/index
Can some其中一個幫助我如何以優雅的方式完成此操作,而不是爲管理員控制器類和產品控制器類編寫相同的操作。 PS:我只用了一週的時間在紅寶石和紅寶石上。任何幫助深表感謝。
是的,但是如果我創建了2個單獨的控制器動作,那麼您添加的#...部分需要在兩個動作中複製 – AdRoiT 2014-11-03 15:57:39
然後解釋您的控制器層次結構。 'ProductsController'是'Admin :: ProductsController'的祖先或後代? – blelump 2014-11-03 16:01:55
ProductsController和AdminController是不同的,但我想在AdminController中使用ProductsController的索引操作,因爲方法是完全一樣的 – AdRoiT 2014-11-03 16:29:54