2012-04-16 15 views
0

私は精練していて、これに対する答えを探していて、3時間をすばやく殺しました。idのルビーのクエリ配列から値を取得

データベースから特定のuser_idを取得するためのクエリを実行しています。 (私はこのようにして、後でリクエストで使用するために変数に結果を残すことができます)

sql = <<-SQL 
    SELECT users.id FROM users WHERE users.active = 't' and (users.created_by = #{user_id} OR users.id = #{user_id}) 
SQL 
connection.execute(sql) 

私はIDの配列を持っています。だから私は今、特定のIDがこの配列にあるかどうかを調べるために、これらを反復しようとしています。

正しい結果を抽出するための変数

raise @editable_users_list.to_yaml 

結果

- !binary "aWQ=": 7 
    0: 7 
- !binary "aWQ=": 8 
    0: 8 
- !binary "aWQ=": 10 
    0: 10 

私の絶望的な試みは

def can_edit_user? 
     if logged_in? 
     @editable_users_list.each do |user| 
      raise user.to_s 
      if user[:id].to_s == current_user[:id].to_s 
      return true 
      end 
     end 
     end 
     return false 
    end 

上記の昇給の例外が私のクエリは実際には配列です明らかにアレイ

{"id"=>7, 0=>7} 

今私はhereと書かれたものをたくさん試していて、あきらめたばかりです。

これに関するすべてのヘルプ...非常に高く評価されています。

答えて

0

ユーザーのIDのみを取得したい場合は、単にそれが好きですか:EDITED

return @editable_users_list.include? @editable_users_list 

@editable_users_list.map!(&:id) 

をして好きなことを確認し

sql = <<-SQL 
    SELECT users.id FROM users WHERE users.active = 't' and (users.created_by = #{user_id} OR users.id = #{user_id}) 
SQL 
@editable_users_list = connection.execute(sql) 

@editable_users_list = @editable_users_list.map!(&:id) 
+0

私はあなたのソリューションを実装しようとしているところから間違いなくエラーを受けています。一緒にコードブロックでこれを提供できますか?ブロックをテストするには、上記の同じクエリを使用できます。条件を削除するだけです。 – gittinOld

+0

どのようなエラーが表示されますか? – Vik

+0

argと実際に与えられたブロックをブロックします。 – gittinOld

0

答えは以下の通りです.SQLがハッシュのハッシュを返していることが原因です。理由はまったくありません。誰かが私に上記の質問を教えるほど親切であれば、私とVikの両方がこれを返しています、それは巨大です:)。私は逃げ出しますが。それが働いて得たもの

はそう

def can_edit_user?(user_id) 
    if logged_in? 
    @editable_users_list.each do |user| 
     user.each do |id,value| 
     if value == user_id 
      return true 
     end 
     end 
    end 
    end 
    return false 
end 

私は、これはそれが行われるべき方法であるかどうかわからないんだけど、またはこれは「SQL接続」に回避策の場合のように、両方のhashsをループしました問題。

とにかく、上記のコードは、それは時間と自分の考えを取るためだけではない(地獄、おそらく全体の多くが最適ではない...)

乾杯として最適再び、私はそれが何をしたいのかVikのをやって上記のことはまだ素晴らしいだろう。

関連する問題