2011-03-26 68 views
0

在以下代碼中,find_by_sql失敗,出現異常:參數個數錯誤(0代表1)。 任何想法發生了什麼?find_by_sql失敗,出現異常:參數個數錯誤

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

嘗試增加括號:

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]) 
+0

感謝名單,這有助於 – MikeMarsian 2011-03-27 16:51:31

4

你寫它的方式,你想不帶任何參數來執行的find_by_sql,然後調用結果[]操作(但失敗了你有之前那麼遠)。

您需要在「[」之前的空格。爲了更加清楚,我會在數組參數「... find_by_sql([...])」周圍加上括號。

相關問題