所有。
请帮我解决一个简单的功能......我不能确定错误,所以这是我的简单用户故事。
期待。 作为一个用户,我想根据我的搜索条件(如标题、描述)得到一个结果列表。
实际。 我得到的是:-( 总是完整的引脚列表,而不是过滤后的列表。
为此,我使用了gems pg_search,我的视图是用HAML写的。
application.html.haml包括搜索栏。
.container
= form_tag pins_path, method: :get, class: "search", role: "search" do
.container
= form_tag pins_path, method: :get, class: "navbar-form navbar-right", role: "search" do
%p
= text_field_tag :search, params[:search], class: "form-control"
= submit_tag "Search", name: nil, class: "btn btn-default"
pins_controller.最后是index.html.haml
def index
if params[:query].present?
@pins = Pin.search_for(params[:query])
else
@pins = Pin.all.order("created_at DESC")
end
end
最后是index.html.haml:
- @pins.each do |pin|
.box.panel.panel-default
= link_to (image_tag pin.image.url), pin
.panel-body
%h2= link_to pin.title, pin
%p.user
Submitted by
= pin.user.email
你正在传递 search
params,在控制器中,你期望的是 query
参数,并以此检查 params[:query]
有无
所以替换为 params[:query]
与 params[:search]
或将您的输入文件名改为 query
在您的搜索表中。