我只是期待以随机顺序返回DataMapper记录。DataMapper记录的随机订购
这里是我的模型(使用DataMapper的与sqlite3的数据库):
class Movie
include DataMapper::Resource
DataMapper::Property::String.length(255)
property :id, Serial
property :title, String
property :img, String
property :description, String
property :year, String
property :created_at, DateTime
has n, :votes
belongs_to :user
end
这里是我如何返回记录(西纳特拉)
get '/' do
@movies = Movie.all # <-- What should this look like?
haml :home
end
“@movies = Movie.all.shuffle!”与“@movies = Movie.all”有什么不同? @ movies.shuffle!'? – 2012-07-10 07:49:28
@padde这是微妙的,但它是'@movies = Movie.all.shuffle' ...没有感叹号。 '!'表示你把原来的var中的内容覆盖掉了。由于'@movies = Movie.all.shuffle'段中'@ movies'没有任何内容可以覆盖,所以我离开了'!'。我只是不确定DM是否继承了这种方法,所以如果它不起作用,就提供了一种替代方法。 – ScottJShea 2012-07-10 15:34:20
我的意思是在你的最后一个例子中,你实际上只是写了两行“Movie.all.shuffle!”。你仍然在'Movie.all'的返回值上调用mutator。所以说不应该叫'Movie.all.shuffle!'。但是因为'Movie.all'只是返回一个副本,所以无论如何,所以没关系。 – 2012-07-10 15:54:12