1

Rails 3.2.11 アプリで Ransack を使用していますが、気に入っています。現在、次のように特定の高校に一致するプロファイルを検索しています。

<%= f.check_box :profile_high_school_cont, {}, "#{current_user.profile.high_school}", '' %>

ただし、これにいくつかのロジックを追加し、検索をさらに絞り込み、他のユーザーが高校で検索できるようにしたいと考えています。

したがって、プロファイルの :high_school に特定のテキストが含まれているかどうかに加えて、プロファイルの :show_high_school が true であるかどうかのチェックを追加する方法があるかどうか疑問に思っています。

ざっと調べた後 (具体的には herehere )、次のカスタム ランサッカーを試しました。

ransacker :by_high_school,
  :formatter => proc {
    |high_school| Profile.where(:high_school => high_school, :show_high_school => true)
  } do |parent|
    parent.table[:user]
  end

これを、プロファイルが 1 つあるユーザー モデルと、ユーザーに属しているプロファイル モデルの両方に追加しました。いずれの場合も、エラーが発生します。

undefined method `gsub' for []:ActiveRecord::Relation

Profile.rb で定義すると、次のエラーが表示されます。

User.search(:profile_by_high_school_cont => "Cent").result

私のDBはPostgreSQLです

4

0 に答える 0