因此,我使用has_and_belong_to_many
关联两个模型(Article
和Category
)。我的标题与下拉菜单有链接,其中显示了不同的类别。我的所有文章都在索引页面上,我需要根据它的类别对其进行排序,以便用户可以选择他们想要查看的内容。我想我应该在类别控制器中做一些表演动作,但不知道到底是什么。为了解决这个问题,我在视图和控制器中使用了不同的每次迭代,但不幸的是它没有帮助。
任何帮助将不胜感激
答案 0 :(得分:1)
您可以使用
选择具有特定类别的文章selected_articles = Category.find_by_name("Name of category").articles
或者,如果您不知道名称
selected_articles = Category.find(category_id).articles
答案 1 :(得分:0)
Article.joins(:category).where(categories: {id: :your_category_id})
答案 2 :(得分:0)
class ErrorHandler{
public static function excep_handler($e)
{
print_r($e);
}
}
set_exception_handler(array('ErrorHandler','excep_handler'));
这将允许您使用:
#config/routes.rb
resources :articles do
get ":category_id", action: :index, on: :collection #-> url.com/articles/:category_id
end
#app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
def index
if params[:category_id]
@articles = Article.joins(:categories).where(category: {id: params[:category_id]})
else
@articles = Article.all
end
end
end