2016-12-04 60 views
1

在我的應用程序中,我生成了一個名爲data的腳手架,並提交了名稱,學校,學院,視圖和興趣表。 現在我想添加一個搜索,如果有人在搜索欄中輸入了NAME,他們應該只將所有的名字作爲結果,如果有人把學院放在大學,他們應該只有所有的大學。在欄杆中進行表格搜索

非常新的軌道,所以我嘗試看一些教程,並已加入該但這不是我想要的

<%= form_tag data_path, :method => 'get' do %> 
<%= text_field_tag :search, params[:search] %> 
<%= submit_tag "Search" %> 
<% end %> 

在控制器

def index 
    @data = Datum.where (["name LIKE ?", "%#{params[:search]}%"]) 
    end 

這又增加了一個搜索但不是我上面提到的搜索類型。

+0

你問如何只返回name列? –

+0

@Dave Newton是的,實際上我想實現的是人們如何搜索列名而不是列中填充的內容......例如我不會搜索名稱,我只會將列名鍵入爲Name或興趣或學院和結果應該只返回作爲尊敬的專欄,就像我搜索名稱,我只想返回名稱列 –

+1

你可以在這裏添加你的表代碼 –

回答

1

我認爲,在控制器

def index 
    if params[:search].present? 
    search_type = params[:search] 
    @data=Datum.all.map(&search_type.to_sym) 
    end 
end 

注:我建議改變你text_field_tag :searchdropdown (select_tag)