gpt4 book ai didi

ruby-on-rails - 如何传递参数[:search] with autocomplete_field_tag?

转载 作者:数据小太阳 更新时间:2023-10-29 08:40:27 29 4
gpt4 key购买 nike

我正在使用 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com