tags:

views:

251

answers:

1

I am making a super small Sinatra blog application, how could I take entries from a database, format them, and insert them into my layout?

+7  A: 
class Blog < Sinatra::Base
  helpers do
    def partial (template, locals = {})
      erb(template, :layout => false, :locals => locals)
    end
  end

  get "/list" do
    @posts = Post.all
    erb :list
  end
end

list.erb:

<% @posts.each do |post| %>
<%= partial(:post, :post => post) %>
<% end %>

post.erb:

<h1><%= post.title %></h1>
<p><%= post.body %></p>
Todd Yandell
Thanks a lot, that fixes everything.
TheMoonMaster
Nice, concise answer +1
Chris McCauley