2011-02-27 3 views
0

내가 제공하는 것과 동일한 category_id를 가진 무작위 데이터베이스 항목 (비디오)을 얻는 방법을 찾고 있습니다.category_id가 1과 동일한 무작위 항목

나는 현재 임의 동영상을 얻기 위해 사용하고 코드,이 코드는 임의의 비디오를 찾기 위해 완벽하게 작동

def self.random() 
    @count = self.count() 
    self.find(:first, :offset => rand(count)) 
end 

그러나 나는이 비디오로 제한해야합니다 내가 제공 CATEGORY_ID을 .

도움을 주시면 감사하겠습니다. 당신의 videos_controller.rb

def random_video 
    category_id = params[:category_id] #or however you are getting the id 
    @video = Video.find(:random, :conditions => ['category_id=?', category_id]) 
    render :action => 'show' 
end 

답변

1

을에서

+0

와우! Ruby와 Rails가 제공하는 매우 간단한 솔루션을 잊어 버리는 경우가 있습니다. 감사. –

0

그것은 내가 레일 멍청한 놈이야이

@category = Category.find(params[:id]) 
@category.videos[rand(count)] 

같은 수 있습니다, 그래서 나도 몰라, 어쩌면 더 효율적인 방법이 해야할 일

+0

미안 해요, 샘, 내가 뭘 하려는지 명확하지 않았습니다. (나는 나의 포스트를 편집했다). 기본적으로 내가 필요로하는 것은 무작위 카테고리가 아닌 : category_id를 제공하는 임의의 비디오를 찾는 것입니다. –

+0

내 코드도 꺼져있었습니다. 그것을 지금 확인하십시오. – s84