2015-02-06 66 views
0

我有一個資源博客。 我有一個名稱空間管理員,可以創建,查看,刪除博客。 應用程序/控制器/管理/ blogs_controller.rb 管理有其自己的門戶Rails,2個命名空間,1個資源。如何設計?

的路線是非常標準:

namespace :admin do 
    resources :blogs 
end 

和一個標準的用戶有另一個門,可以只看到博客,看到了一個博客的細節。

我剛剛在app/controllers/main_controller中實現了兩個方法,它們與Admin :: BlogsController的索引和顯示方法類似。 該路線是:

get '/main/blog' => 'main#blog' 
get '/main/blog/:id' => 'main#blog_show' 

我該如何改進我的設計?

回答

0

這是您正在尋找的解決方案嗎?

namespace :admin do 
    resources :blogs 
end 
namespace :main do 
    resources :blogs, only: [:show, :index] 
end 

app/controllers/admin/blogs_controller.rb 

Admin::BlogsController 


app/controllers/main/blogs_controller.rb 

Main::BlogsController 
+0

show和index方法在兩個blogs_controller.rb中都非常相似。但是我認爲在控制器中有很多重複是很正常的,不是嗎? – rolele 2015-02-07 15:30:26

+1

很好地分開管理控制器動作與主。它會是一樣的,你可以創建服務並在這兩個動作中調用它。 – Muszla 2015-02-07 22:32:51