2012-05-10 18 views
0

この非常に単純な質問は、あらかじめご迷惑をおかけして申し訳ありませんが、条件をチェックしながら変数を設定する最適な方法は何ですか?たとえば、私は持っています:変数を設定することでEagerを読み込む

@friends = [] 
@user.facebook_friends.each do |key,value| 
    if test = Authorization.includes(:user).find_by_uid(key) != nil 
    @friends << {"name" => test.user.name, "facebook_image_url" => test.user.facebook_image_url} 
    end 
end 

私は私のデータベースのクエリを最小限に抑えるために、権限レコードをプルするときにユーザーレコードを取得しようとしています。テスト変数を設定するには、

test = Authorization.includes(:user).find_by_uid(key) != nil 

を書き込むことはできません。このコードを書くことで機能するようにするにはどうすればよいでしょうか?あなただけの括弧必要

答えて

3

:またここに

(test = Authorization.includes(:user).find_by_uid(key)) != nil 

はそれを行うために、よりレールの方法です:

unless (test = Authorization.includes(:user).find_by_uid(key)).nil? 
    @friends << {"name" => test.user.name, "facebook_image_url" => test.user.facebook_image_url} 
end 
+0

うわー!私は前にそれを試みたと思って、それは動作しませんでした。私はもう一度それを試してみました。私のばかげた質問にお答えいただきありがとうございます。 – Alex

関連する問題