if i click on month i want to display only that months blog posts,this
is an existing code which is working fine for few months not for
all,where am i doing wrong ,should i change the code.can any one help me
out.and also i want the month and date to display in reverse ,recent on
top.like
ARCHIVES
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
June 2014
May 2014
.
.
app/blogcontroller.rb
class BlogController < ApplicationController
require 'date'
if (params[:population_categories])
@blog_posts = BlogPost.live.where(:population_category_ids
=>params[:population_categories]).latest.page(params[:page])
elsif (params[:month])
b_dt = DateTime.strptime(“01/” + params[:month].to_s + “/” +
params[:year] + " 00:00", “%d/%m/%Y %H:%M”)
e_dt = DateTime.strptime(“01/” + (params[:month].to_i+1).to_s +
“/” + params[:year] + " 00:00", “%d/%m/%Y %H:%M”)
else
@blog_posts=BlogPost.live.keyword(params[:keyword]).latest.page(params[:page])
end
app/views/blog/index.html.erb
<div class="right-col">
<h2>ARCHIVES</h2>
<div class='posts_by_month'>
<ul>
<% archive_string = "" %>
<% date_value = "" %>
<% @posts_by_month.each do |monthname, posts| %>
<% date_value = (Date::MONTHNAMES[monthname[0..-6].to_i]) + " "
-
(monthname[3…8]) %>
<% archive_string = “ - ” + date_value +
“ ” + archive_string %>
<% end %>
<%= raw archive_string %>