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") }
以上です