🖥

#Rails での ransackable_scopes の使い方と SQLの例

2019/12/01に公開
class User
  def full_name
    "#{first_name} #{last_name}"
  end

  private

  def self.ransackable_scopes(auth_object = nil)
    %i(full_name_like)
  end
end


こんな使い方してます

他のDBカラムからの検索と、つじつまをあわせて、実装的にレールに乗るために

User.full_name_like('A').to_sql
=> "SELECT `users`.* FROM `users` WHERE (((last_name LIKE '%A%') OR (first_name LIKE '%A%')) OR (CONCAT(`last_name`, `first_name`) LIKE 'A'))"

すごく頑張ってる感

ありがとうransack

おめでとうransack

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2791

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-12-01

Discussion