我在用户页面上有一个搜索表单
= 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'
我的 Controller 操作是:
def search
puts params
respond_to do |format|
format.js
end
end
我有一个 search.js.erb 文件,它仅打印到控制台。
我不明白为什么这不起作用。
最佳答案
您调用方法 form_tag
的方式错误。如果您在 form_tag
中指定 action
,则必须在不同的哈希中指定它们。
= form_tag( { action: 'search' }, { remote: true } ) do
这就是为什么您收到 HTML 请求而不是 JS 请求的原因。
您必须明确告诉 form_tag
您正在发送 action: 'search'
来获取 url_for_option
哈希,以及 remote : true
对于 options
哈希。
这是方法签名:
form_tag(url_for_options = {}, options = {}, &block)
有关更多信息,请访问 form_tag
.
关于javascript - Rails 4 ActionController::UnknownFormat format.js 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868180/