奨学金モデルを調べる 2 つの異なるコントローラー (scholarships_controller、scholarships_browse_controller) があります。Ransack 検索機能で、現在のページに検索結果を表示したいと考えています。したがって、たとえば、/scholarships_browse で検索機能を使用する場合、scholarships_browse_controller を使用して /scholarships_browse に結果を表示する必要があります。
現在、/scholarships_browse で検索すると、scholarships_controller が使用され、/scholarships にリダイレクトされて結果が表示されます (/scholarships_browse ではなく)。
ScholarshipsBrowseController および ScholarshipsController のコード
def index
@search = Scholarship.search(params[:q])
@scholarships = @search.result.page(params[:page]).per(3) #allows 3 scholarships on a page at a time
@search.build_condition
respond_to do |format|
format.html # index.html.erb
format.json { render json: @scholarships }
end
終わり
奨学金のコードは index.html.erb を参照してください:
<%= search_form_for @search do |f| %>
<%= f.condition_fields do |c| %>
<div class="field">
<%= c.attribute_fields do |a| %>
<%= a.attribute_select %>
<% end %>
<%= c.predicate_select compounds: false, only: [:cont, :eq, :gt, :lt] %>
<%= c.value_fields do |v| %>
<%= v.text_field :value %>
<% end %>
</div>
<% end %>
<div class="actions"><%= f.submit "Search" %></div>
<% end %>
したがって、具体的には、 /scholarships_browse を使用しているときに ScholarshipsController インデックスの代わりに ScholarshipsBrowseController インデックスを使用していることを確認するにはどうすればよいかを尋ねていると思います。