我想显示一个类别链接,列出所有带有该类别的文章。 我在这个项目中使用Mongodb / Mongoid,但是我不确定我是否能以一种好的方式做到这一点。
文章模型
class Article
include Mongoid::Document
include Mongoid::Timestamps
field :title, type: String
field :content, type: String
belongs_to :user
#kategorie
belongs_to :article_category
文章控制器
class ArticlesController < ApplicationController
def article
@article = Article.order_by(created_at: 'desc').page params[:page]
end
def view_article
@article = Article.find(params[:id])
end
end
ArticleCategory模型
class ArticleCategory
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
has_many :articles
end
路由
get 'article', to: 'articles#article'
get 'article/:id', to: 'articles#view_article', as: 'view_article'
我想做那样的事情。有Article
以下是类别链接。我点击此链接,我看到该类别中的文章列表。我应该建一个ArticleCategory
控制器吗?那categories
中的路线怎么样?
答案 0 :(得分:0)
由于你有一个ArticleCategory
模型,那么是的,有一个ArticleCategoryController
是有意义的。对于路线,我会让您的routes.rb
文件看起来像这样:
resources :article_categories do
resources :articles, shallow: true
end
这样,路由是嵌套的(因为文章belong_to
article_categories),但您可以直接访问文章而无需知道其父类别。要了解有关路由(尤其是嵌套)的更多信息,请look at this。