【问题标题】:Displaying categories article and tags in Ruby on Rails在 Ruby on Rails 中显示分类文章和标签
【发布时间】:2015-07-30 13:08:50
【问题描述】:

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

【问题讨论】:

  • 是的,据我了解您的问题,您应该添加控制器。对于其他路由,您应该了解 Rails 路由,尤其是嵌套路由:guides.rubyonrails.org/routing.html#nested-resources
  • 谢谢。我应该如何在我的文章中显示类别锚? 因为这样我得到:#<0x11a77370>
  • &lt;&gt;

标签: ruby-on-rails ruby mongodb


【解决方案1】:

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

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

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

【讨论】:

  • 我不知道 ArticleCategoryController 应该是什么样子。主要路线是:localhost:3000/article
  • 您的ArticleCategoriesController(注意复数类别)应该与您的ArticlesController 相似。根据您想要的操作(新建、编辑、显示等),应该有名称与操作匹配的方法。
  • 我使用的是 Rails 管理员,所以我想用管理面板来管理它。我在显示和选择特定类别时遇到问题。
  • 那个问题是……?
  • 在文章视图中。我想在文章帖子下方显示一个类别,但它不起作用 ** **
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
相关资源
最近更新 更多