我需要过滤索引页面上显示的帖子。我最初通过在视图中使用此条件来过滤它们:
<span th:with="days=${T(java.util.concurrent.TimeUnit).DAYS}, millis=${T(java.util.concurrent.TimeUnit).MILLISECONDS}" th:text="${days.convert(#dates.createNow().getTime() - feed.dateCreated.getTime(), millis)}" />
但是因为我添加了will_paginate,所以我得到了空白页面,因为它甚至包括我不想显示的帖子。如何使用范围过滤掉控制器中的帖子?
这些是我的模特:
if current_user.courses.any? {|h| h[:name] == post.course.name}
和
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :course
has_many :comments
end
和我的控制器代码
class Course < ActiveRecord::Base
belongs_to :user
has_many :posts
belongs_to :major
end
答案 0 :(得分:0)
如果您的过滤器包含多个courses names
:
def index
@posts = Post.joins(:course).where('courses.name in (?)',current_user.courses.map(&:name)).paginate(:page => params[:page], :per_page => 1)
end