作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 Crowdint rails3 jquery autocomplete我的搜索表单有问题。
这是我的 search
表单在没有自动完成的情况下的样子:
<%= form_tag search_path, :method => 'get' do %>
<%= text_field_tag :search, params[:search], :placeholder => "Search for a Product.....", :id => "main-search-field" %>
<%= submit_tag "Search", :name => nil, :id => "main-search-field-button" %>
<%end%>
现在,当我更改自动完成和搜索的表单时:
<%= form_tag search_path, :method => 'get' do %>
<%= autocomplete_field_tag 'name','', search_autocomplete_product_name_path, params[:search], :placeholder => "Search for a Product.....", :id => "main-search-field" %>
<%= submit_tag "Search", :name => nil, :id => "main-search-field-button" %>
<%end%>
如果我的 autocomplete_field_tag
中有 params[:search]
,这将不起作用:
ActionView::Template::Error (wrong number of arguments (5 for 4))
如何设置搜索参数以便我可以使用自动完成进行实际搜索?
更多信息:
class SearchController < ApplicationController
autocomplete :product, :name, :full => true
# Sunspot search.
def index
@search = Product.search do
fulltext params[:search]
paginate(:per_page => 1, :page => params[:page])
end
@products = @search.results
end
end
# routes.rb
get 'search/autocomplete_product_name'
resources :search, :only => [:index]
最佳答案
(免责声明:我没有使用过这个特殊的 gem,以下答案仅基于对它的源代码的简要浏览。)
autocomplete_field_tag
方法根据来源接受五个参数,最后一个是选项散列:
autocomplete_field_tag(name, value, source, options = {})
因此,鉴于您的 Controller 方法,例如需要一个名为 product_name
的参数,您的方法调用可能应该是:
autocomplete_field_tag('product_name', '', search_autocomplete_product_name_path, :placeholder => "Search for a Product.....", :id => "main-search-field")
关于ruby-on-rails - 如何传递参数[:search] with autocomplete_field_tag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106902/
我正在使用 Crowdint rails3 jquery autocomplete我的搜索表单有问题。 这是我的 search 表单在没有自动完成的情况下的样子: 'get' do %>
我是一名优秀的程序员,十分优秀!