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 = "<li><a class='filter' href='/blog?month=" +
monthname[0..-6] + "&year=" + monthname[3..8] + "'>" + date_value +
"</a></li>" + archive_string %>
<% end %>
<%= raw archive_string %>
</ul>
</div>
</div>
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/cff90cd1d52510d4fc63b5e660235377%40ruby-forum.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment