我目前正在尝试使用Sinatra和MongoDB(通过Candy gem)。我喜欢Candy编码风格,但是当我尝试检索所有 Post 对象时,我遇到了一些问题。这是我的代码:
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
当它呈现 index.haml 时,我得到的只是 Post(4d0ac53d9b6d4202a3000001){} ,我无法检索任何数据。 haml是:
!!! 5
%html
%body
%strong Posts
%ul
- @posts.each do |post|
%li= post
如何迭代ul中帖子的标题?感谢帮助。
答案 0 :(得分:0)
Candy中存在一个错误,要求您在使用集合进行查找时填充数据之前刷新对象。
这样做:
- @posts.each do |post|
post.refresh
%li= post