add tag seq nav
This commit is contained in:
25
app/logical/post_search_context.rb
Normal file
25
app/logical/post_search_context.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
class PostSearchContext
|
||||
attr_reader :params, :post_id
|
||||
|
||||
def initialize(params)
|
||||
@params = params
|
||||
raise unless params[:seq].present?
|
||||
raise unless params[:id].present?
|
||||
|
||||
@post_id = find_post_id
|
||||
end
|
||||
|
||||
def find_post_id
|
||||
if params[:seq] == "prev"
|
||||
post = Post.tag_match(params[:tags]).where("posts.id > ?", params[:id].to_i).reorder("posts.id asc").first
|
||||
else
|
||||
post = Post.tag_match(params[:tags]).where("posts.id < ?", params[:id].to_i).reorder("posts.id desc").first
|
||||
end
|
||||
|
||||
if post
|
||||
post.id
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user