rails テーブルのカラム名のエスケープ
SQLの一部を書きたくて以下のようにしていたらsiderで「Possible SQL injection」と怒られた。SQLはエスケープしないとダメですね
修正前
scope :my_scope, -> column {
joins("left join xxx on xxx.id = yyy.xxx_id and yyy.#{column} = 1")
}修正後
scope :my_scope, -> column {
column = ActiveRecord::Base.connection.quote_column_name(column)
joins("left join xxx on xxx.id = yyy.xxx_id and yyy." + column + " = 1")
}以上です