2012-08-10 5 views
0

'무언가'가 참인 모든 마이크로 포스트를 가져오고 싶습니다.Ruby on rails - SQL 메소드

이 코드는

class UsersController < ApplicationController 
    . 
    . 
    . 
    def show 
    @user = User.find(params[:id]) 
    @microposts = @user.microposts 
    @titre = @user.nom 
    end 
end 

를 잘 작동하지만이 경우 SQL 방법을 만들려고 할 때이 코드가 작동하지 않습니다.

class UsersController < ApplicationController 
     . 
     . 
     . 
     def show 
     @user = User.find(params[:id]) 
     @microposts = @user.microposts.where("something = 'true'") 
     @titre = @user.nom 
     end 
    end 

어떤 아이디어가 있습니까? 이 같은

+0

http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work – gabrielhilal

+0

문제는 무엇인가가 부울이며 문자열이 아닐 수 있습니다. – Mischa

답변

2

쓰기 :

Micropost.where(user_id: params[:id], something: true) 
+0

네,하지만 내 사용자 모델에 : "has_many : microposts"는 쓸모 없습니까? – user1560922

+0

차이점은 무엇입니까? 아마 다른 곳에 필요할 것입니다. – Michael

+0

'something : true'로 바꾸는 것이 좋은 제안이지만'@ user.microposts'를 사용하지 않을 이유가 없습니다. – Mischa

4
def show 
    @user = User.find(params[:id]) 
    @microposts = @user.microposts.where(something: true) 
    @titre = @user.nom 
end 

쿼리 범위를 좁히는에 대한 추가 정보를 원하시면 here 또는 here를 참조하십시오.

+0

감사합니다. 그것은 나를 위해 일한다! – user1560922

+0

@ user1560922 - 문제가 해결되면 대답을 수락하십시오. 감사 – gabrielhilal