2014-01-29 65 views
1

我嘗試使用'ransack'搜索與我的應用程序,它只要在控制器的索引視圖中工作,它不起作用,當我嘗試將相同的代碼放入諧音。局部有搜索引擎不支持局部搜索

專家控制器的我的索引行動看起來像這樣在它帶有一個搜索字段標題:

def index 
@search = Expert.search(params[:q]) 
@experts = @search.result 
end 

我在專家的索引視圖中使用的代碼是

<form class="navbar-form navbar-left" role="search">           
<%= search_form_for @search do |f| %> 
    <div class="form-group"> 
     <div class="field"> 
       <%=f.text_field:Location_or_Description_or_Industry_or_Current_Organization_or_Current_Position_cont, :class => "form-control" %> 
     </div> 
    </div> 
    <%= f.submit "Search" , :class => "btn btn-default icon-search" %> 
<% end %> 
</form> 

我想在部分中使用此代碼,以便可以從我的應用中的任何給定頁面進行搜索。當我做我得到的錯誤等是

ArgumentError in Praclycore#index 

Showing c:/repos/pracly/app/views/layouts/_header.html.erb where line #24 raised: 
No Ransack::Search object was provided to search_form_for! 

<li class="home"><%= link_to image_tag("/img/home.png"), root_path, :class=>"home" %></li> 

<form class="navbar- form navbar-left" role="search">         
    <%= search_form_for @search do |f| %> 
    <div class="form-group"> 
    <div class="field"> 
    <%= f.text_field :Location_or_Description_or_Industry_or_Current_Organization_or_Current_Position_cont, :class => "form-control" %> 




Trace of template inclusion: app/views/layouts/application.html.erb 

Rails.root: c:/repos/pracly 

我是新來的Ruby on Rails的,這將非常感激,如果有人可以告訴我,我該怎麼用諧音洗劫使用,我需要提供什麼額外的代碼這工作。

+0

只是'form_for'? – Nithin

回答

0

@search實例變量是不可比Expert#search其他任何方面 - 你需要設置變量(或更好,但使用decent_exposure寶石),要麼在ApplicationController的水平暴露,或創建一個過濾器之前。