【问题标题】:Issues with my orders controller and search bar我的订单控制器和搜索栏出现问题
【发布时间】:2018-04-19 13:33:30
【问题描述】:

我的订单控制器和搜索栏目前存在一些问题。 确实,当我写下一个名字时,一切都很好并且运行良好。除了之后我可以写别的东西,我必须删除它(第一期)。 然后,当我删除我在搜索栏中写的内容时,我提出了这个错误:

Couldn't find Place with 'id'= [WHERE "places"."published" = 't']

我假设我的搜索栏正在寻找没有 ID 的东西,这显然不存在,但我不知道我的控制器和我的 javascript 是否有问题。

这是我的控制器:

def customer_show
  @customer = User.find(params[:customer_id])
  respond_to do |format|
    format.js {render layout: false} # Add this line to you respond_to block
  end
end

还有我的 JS:

:javascript
$('#place_id').on('change', function() {
  this.form.submit()
})

如果有人有解决办法,我将不胜感激!非常感谢。

【问题讨论】:

    标签: javascript ruby-on-rails haml


    【解决方案1】:

    每次您更改输入中的值时,您的代码都会提交表单(执行搜索)。因此,如果您正在寻找car,它将执行三个查询:

    1. c
    2. ca
    3. 汽车

    然后,如果您想搜索不同的内容,例如 bike,它将执行以下查询:

    1. 加州
    2. c
    3.  
    4. b

    第三点至关重要,因为您发送的是一个空字符串作为搜索参数。或许,您可以通过手动发送空表单来复制此问题。

    我建议在处理搜索的方法中添加一些逻辑,并在提供空字符串时跳过搜索执行。

    【讨论】:

    • 您好@MrShemek,感谢您的回答。但我不太确定理解你建议我做什么。我是否必须添加 if place_id = nil 之类的内容?
    猜你喜欢
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多