find_by_sql завершается с ошибкой: неверное количество параметров - PullRequest
0 голосов
/ 26 марта 2011

В следующем коде find_by_sql завершается с ошибкой за исключением: неправильное количество параметров (0 для 1) Есть идеи, что происходит?

def filter_new_unfollowers(unfollower_ids)
  relationships = TwitterRelationship.find_by_sql["SELECT * FROM  twitter_relationships
                           INNER JOIN twitter_identities ON (twitter_identities.twitter_id=twitter_relationships.source_twitter_id)
                           INNER JOIN member_twitter_identities ON (member_twitter_identities.twitter_identity_id = twitter_identities.id) 
                            WHERE member_twitter_identities.member_id IN (?)", unfollower_ids]

end

Ответы [ 2 ]

4 голосов
/ 26 марта 2011

Как вы это написали, вы пытаетесь выполнить find_by_sql без аргументов, а затем вызываете оператор [] для результата (но он не прошел до того, как вы получили это далеко).перед "[".Чтобы быть еще более понятным, я бы поставил скобки вокруг аргумента массива "... find_by_sql ([...])".

2 голосов
/ 26 марта 2011

Попробуйте добавить скобки:

relationships = TwitterRelationship.find_by_sql(["SELECT * FROM  twitter_relationships
                           INNER JOIN twitter_identities ON (twitter_identities.twitter_id=twitter_relationships.source_twitter_id)
                           INNER JOIN member_twitter_identities ON (member_twitter_identities.twitter_identity_id = twitter_identities.id)
                            WHERE member_twitter_identities.member_id IN (?)", unfollower_ids])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...