2010-12-17 7 views
0

Ich experimentiere gerade mit Sinatra und MongoDB (durch das Candy-Juwel). Ich liebe die Candy-Codierung Stil, aber ich habe ein paar Probleme, wenn ich versuche, alle Post Objekte abrufen. Hier ist mein Code:Candy für MongoDB

require 'rubygems' 
require 'sinatra' 
require 'candy' 
require 'haml' 

Candy.db = "Miroir" 

class Post 
    include Candy::Piece 
end 

class Posts 
    include Candy::Collection 
    collects :post 
end 

get '/' do 
    @posts = Posts.all 
    haml :index 
end 

Wenn es index.haml macht, alles, was ich bekommen ist Post (4d0ac53d9b6d4202a3000001) {}, und ich kann keine der Daten abzurufen. Der haml ist:

!!! 5 
%html 
    %body 
     %strong Posts 
     %ul 
     - @posts.each do |post| 
      %li= post 

Wie kann ich die Titel der Beiträge in der UL iterieren? Schätze die Hilfe.

Antwort

0

Es gibt einen Fehler in Candy, der erfordert, dass Sie das Objekt aktualisieren, bevor es die Daten füllt, wenn Sie eine Suche mit einer Sammlung durchführen.

Machen Sie es wie so:

- @posts.each do |post| 
     post.refresh 
     %li= post