我在用户页面上有一个搜索表单
= 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文件。
我无法弄清楚为什么这不起作用。
答案 0 :(得分:1)
您正在以错误的方式调用方法form_tag
。如果您在action
中指定form_tag
,则必须在不同的哈希值中指定它们。
= 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
。