假设,我有模型Article
和Category
HABTM 关系。我可以有不同的类别,名称如mobile
等desktop
。我需要每个类别的列表视图。例如/mobile
路径给我所有Articles
属于Category mobile
,/desktop
路径给我所有Articles
属于类别desktop
和/articles
路径给我完全所有Articles
。组织它的最佳方式是什么(控制器、视图、路由)?为每个类别创建控制器?但它不是 DRY ......用户稍后可能会添加类别......
问问题
88 次
2 回答
1
无需创建额外的控制器。
class ArticlesController
def index
@articles = case params[:type]
when 'mobile'
# .. select mobile articles
when 'desktop'
# .. select desktop articles
else
Article.all
end
# ...
end
end
然后在routes.rb
match "/mobile", controller: :articles, action: :index, type: 'mobile'
match "/desktop", controller: :articles, action: :index, type: 'desktop'
resources :articles
于 2013-11-06T13:04:41.467 回答
1
路线:
get 'category/:type' => 'categories#index'
控制器:
def index
type = params[:type]
## fetch categories based on type
categories = Category.where(type: type)
end
您需要在这里查看的基本内容是路线。仅添加一条路线,可用于任意数量的类别类型
于 2013-11-06T13:08:00.113 回答