2016-12-04 87 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)