我想只显示属于该类别的文章。 例如:用户单击该类别,他将获得此类别中所有文章的列表。
文章模型
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
路线
resources :article_categories do
resources :articles, shallow: true
end
ArticleCategories控制器
class ArticleCategoriesController < ApplicationController
def index
@article = Article.find
end
end
在文章视图中,我显示所有文章,在articles_categories视图中,我想显示特定的帖子。那么控制器应该怎么样(我现在谈论的是ArticleCategoriesController。) 我尝试使用Article.find_by(名称:&#39; JS&#39;)但它无效。我正在寻求帮助:)
答案 0 :(得分:1)
你可以这样做:
class ArticleCategoriesController < ApplicationController
def index
@category = ArticleCategory.find(params[:id])
@articles = @category.articles
end
end
因为ArticleCategory
模型has_many Articles
,您可以执行@categoy.articles
现在,要在视图上显示文章,您必须像这样交互te @articles
集合(数组):
<% @articles.each do |article| %>
<%= article.title %><br>
<%= article.body %><br><br>
<% end %>
您可以这样做以创建类别的链接:
<%= link_to category.name, category %>
我认为你有一个基本问题。我建议你阅读这样的内容:
会给你一个很好的基础