6

:conditionsの場合と同様の方法で:joinsのパラメーターを指定することは可能ですか?

ここに例があります(SQLコードは無関係です)

named_scope :threads, {
  :joins => [" LEFT JOIN groups_messages gm ON messages.id=gm.message_id AND gm.group_id IN (?) ",@group_ids_array], 
  :conditions => ["creator_id=? AND messages.id IN (?)", current_user_id, @message_ids_array]
}

この例では、:conditionsのパラメーターは正しく挿入されますが、:joinsの場合はエラーが発生します

 Association named '  LEFT JOIN groups_messages gm ON messages.id=gm.message_id and gm.group_id IN (?) ' was not found; perhaps you misspelled it?

:conditionsの代わりにパラメーターを使用する関数はどれですか?

4

1 に答える 1

7

ActiveRecord::sanitize_sql_arrayメソッドを使用できます。

ActiveRecord::sanitize_sql_array ['gm.group_id IN (?)', @group_ids_array]
于 2009-10-06T10:38:04.097 に答える