如何用ruby和sinatra在博客中实现档案?

时间:2013-12-10 14:30:51

标签: ruby-on-rails ruby sinatra archive

我正在为我的博客做档案,实际上我因为要求而从铁路转到sinatra。我正在尝试同样的Sinatra

在我的app.rb中:

def index
   @posts = Post.all(:select => "title, id, created_at", :order => "created_at DESC")
   @post_months = @posts.group_by { |t| t.created_at.beginning_of_month }
end

并在Layout.erb中:

<div class="archives">
   <h2>Blog Archive</h2>

   <% @post_months.sort.reverse.each do |month, posts| %>
   <h3><%=h month.strftime("%B %Y") %></h3>
   <ul>
      <% for post in posts %>
      <li><%=h link_to post.title, post_path(post) %></li>
      <% end %>
  </ul>
  <% end %>

有谁能帮助我如何为sinatra做这件事?我正在尝试相同的代码,我得到这个:未定义的方法`sort'为nil:NilClass

1 个答案:

答案 0 :(得分:0)

您没有使用Sinatra的表示法来定义动作。而不是:

def index
  # your code...
end

您需要定义如下操作:

get '/' do
  # your code...
end

您应该在继续之前阅读此内容:http://www.sinatrarb.com/intro.html