0

ransack gemの実装に少し苦労しています。インデックス アクションを備えたページ コントローラーと、インデックス アクションを備えたポスト コントローラーがあります。ただし、ページ コントローラー (pages#index) のインデックス アクションで検索を実行すると、結果はポスト コントローラー (posts#index) のインデックス アクションでレンダリングされます。これは、特定のリソースのビュー内からしか検索できないということですか、それとも間違っていますか?

pages#index 
def index
  @q = Post.search(params[:q])
  @posts = @q.result(distinct: true)
end

pages#index
<%= search_form_for @q do |f| %>
  <div class="field">
    <%= f.label :title_cont %><br>
    <%= f.text_field :title_cont, :class => "input text" %>
  </div>
  <div class="actions">
    <%= f.submit "Search"%>
  </div>
<% end %>
4

1 に答える 1

2
<%= search_form_for @q,:url=>pages_path do |f| %>
  <div class="field">
    <%= f.label :title_cont %><br>
    <%= f.text_field :title_cont, :class => "input text" %>
  </div>
  <div class="actions">
    <%= f.submit "Search"%>
  </div>
<% end %>

検索フォームのコードを次のように変更します。今すぐ機能します。

于 2013-10-17T09:51:50.180 に答える