ransack を使用して年齢で結果をフィルタリングしようとしていますが、ransack によって未定義のメソッド エラーが発生します。データベースに Users DOB があり、ユーザー モデルには、ユーザーの年齢を計算する age メソッドがあります。それは完全に正常に機能し、次のようにユーザーの年齢を呼び出すことができます。
@user = User.find(1)
@user.age
ランサックのために、コントローラーに次のものがあります。
def index
@search = User.search(params[:q])
@users = @search.result
end
私の見解では、私は持っています:
<%= search_form_for @search do |f| %>
<%= f.label :age_gteq, "Ages:" %> <%= f.text_field :age_gteq %>
<%= f.label :age_lteq, "to" %> <%= f.text_field :age_lteq %>
<%=f.submit "Filter", class: "button" %>
<% end %>
これは私が得ているエラーです:
undefined method `age_gteq' for Ransack::Search<class: User, base: Grouping <combinator: and>>:Ransack::Search
私は同じエラーが発生すると確信していますage_lteq