所以我有一个特殊的形式,应该是比较两个对象。一个是他们所在的当前页面,另一个是我们正在搜索的页面。
这是show.html.haml中的表单:
%form.form-inline
= form_tag compare_search_path, method: 'get' do
= text_field_tag :q, params[:q], class: "typeahead", "data-provide" => "typeahead", autocomplete: "off"
= hidden_field_tag :search_item_id, '', class: "search_item_id"
= hidden_field_tag :current_item, @item.id
= submit_tag "Search", name: nil, class: "btn"
在我的控制器内部,我有:
def search_related
puts "*" * 100
puts "It's in here and working."
end
但是,它永远不会进入该方法,它只是尝试进行搜索并且该方法永远不会被使用。
我的routes.rb有:
get "/compare_search" => 'items#search_related'
它似乎尝试访问的 URL 是这样的:http://localhost:3000/items/1?utf8=%E2%9C%93&q=[ITEM IS HERE]&search_item_id=3¤t_item=1
所有参数都是正确的,但它似乎并不想采取正确的行动(我现在想要的只是让它进入行动,这样我就可以在那里做我需要的事情)。
知道我做错了什么吗?