Javascript Rails 4 ActionController::UnknownFormat format.js错误

Javascript Rails 4 ActionController::UnknownFormat format.js错误,javascript,ruby-on-rails,ajax,ruby-on-rails-4,Javascript,Ruby On Rails,Ajax,Ruby On Rails 4,我在用户页面上有一个搜索表单 = form_tag(action: 'search', remote: true ) do = date_field_tag 'start' = submit_tag "Find" 当我提交表单时,出现以下错误: 406 Not Acceptable in 4ms (ActiveRecord: 0.7ms) ActionController::UnknownFormat - ActionController::UnknownForma

我在用户页面上有一个搜索表单

= form_tag(action: 'search', remote: true ) do
    = date_field_tag 'start'
    = submit_tag "Find" 
当我提交表单时,出现以下错误:

406 Not Acceptable in 4ms (ActiveRecord: 0.7ms)

    ActionController::UnknownFormat - ActionController::UnknownFormat:
      actionpack (4.2.5) lib/action_controller/metal/mime_responds.rb:219:in `respond_to'
      app/controllers/users_controller.rb:40:in `search'
我的控制器操作是:

def search
    puts  params
    respond_to do |format|
      format.js
    end
end
我有一个search.js.erb文件,它刚刚打印到控制台


我不明白为什么这不起作用。

你调用方法
表单标签的方式不对。如果在
form_tag
中指定
action
,则必须在不同的哈希中指定它们

= form_tag( { action: 'search' }, { remote: true } ) do
这就是为什么将请求作为HTML请求而不是JS请求获取的原因

您必须明确告诉
form\u tag
您正在发送
操作:'search'
查找
url\u查找
option
哈希,以及
remote:true
查找
options
哈希

以下是方法签名:

form_tag(url_for_options = {}, options = {}, &block)

欲了解更多信息,请转到。

我认为您需要指定格式,如
操作:'search.js'
服务器日志中生成的请求格式是什么?@Pavan
Processing by users controller#search as HTML
,也就是说,请求格式是
HTML
而不是
js
。你的代码很好,只是确保你的应用程序中运行了Javascript。我确实运行了Javascript,其他控制器可以响应js,我不知道问题出在哪里