나는 단순히 을 찾고 있습니다. 임의의 순서로 DataMapper 레코드를 반환합니다.. 여기 DataMapper 레코드의 순서를 임의로 지정하십시오.
은 (sqlite3를 데이터베이스와 DataMapper를 사용) 내 모델 :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! '? –
@padde 미묘하지만 '@movies = Movie.all.shuffle' ... 느낌표가 없습니다. '! '는 원래의 var에 있던 것을 가져 와서 덮어 쓰게된다는 것을 의미합니다. '@movies = Movie.all.shuffle' 부분에서'@ movies'에 덮어 쓸 내용이 없으므로'! '를 생략했습니다. 나는 그 방법을 물려받은 DM이 그것이 작동하지 않는다면 대안을 제시했는지 확신 할 수 없었다. – ScottJShea
마지막 예제에서 두 줄에'Movie.all.shuffle! '을 쓰는 것입니다. 여전히 Movie.all의 반환 값에 대해 뮤 테이터를 호출하고 있습니다. 그래서 Movie.all.shuffle!을 호출해서는 안된다는 말의 의미는 없습니다. 그러나'Movie.all'은 복사본을 반환하기 때문에 어느 쪽이라도 괜찮습니다. 그래서 신경 쓰지 마세요. –