在Ruby on Rails中显示类别文章和标签

时间:2015-07-30 13:08:51

标签: ruby-on-rails ruby mongodb

我想显示一个类别链接,列出所有带有该类别的文章。 我在这个项目中使用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中的路线怎么样?

1 个答案:

答案 0 :(得分:0)

由于你有一个ArticleCategory模型,那么是的,有一个ArticleCategoryController是有意义的。对于路线,我会让您的routes.rb文件看起来像这样:

resources :article_categories do
  resources :articles, shallow: true
end

这样,路由是嵌套的(因为文章belong_to article_categories),但您可以直接访问文章而无需知道其父类别。要了解有关路由(尤其是嵌套)的更多信息,请look at this