搜索结果显示在错误的页面上

时间:2013-09-19 07:00:27

标签: search ruby-on-rails-4 ransack

我在实现ransack gem方面有点困难我有一个带有索引操作的页面控制器和一个带有索引操作的后置控制器。但是,当我在页面控制器的索引操作(页面#index)中执行搜索时,结果将在post控制器的索引操作中呈现(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 %>

1 个答案:

答案 0 :(得分: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 %>

像这样修改搜索表单中的代码。它现在可以工作了。