Rails whereメソッドの「?」とは何か?
それは「プレースホルダ」、SQLインジェクション対策
Rails セキュリティガイド \- Railsガイド
(
https://railsguides.jp/security.html#sql%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3)
[\
Rails\
whereメソッドの「?」\(プレースホルダ\)](
https://zenn.dev/yusuke_docha/articles/f04fb2cbd22508)
-----
プレースホルダを使用する記述
code:ruby
Category.where('name = ?', 'fashion')
# SELECT "categories".* FROM "categories" WHERE (name = 'fashion')
上記の例はハードコーディング、変数を使用する場合は以下のような記述となる。
code:ruby
Category.where('name = ?', params
:category_name
)
#Rails
#SQLインジェクション対策