所以我有以下rails表单,相应的控制器操作有respond_to:js,但rails继续将其作为HTML处理。不确定如何继续。有什么想法吗?
form_tag url_for(controller: 'posts', action: 'add_tag'), id: 'enter_tag', remote: true, style: 'display:none' do
text_field_tag :tag
end
更新:删除'display:none'修复它(我的格式已经淡入。)为什么会这样?
答案 0 :(得分:0)
快速解决方案可能是将url_for
更改为url_for(controller: posts, action: 'add_tag', format: 'js')
,但我相信它应该选择JS响应,即使没有它。我不喜欢这种方法,因为我不相信它会为非js用户选择你的HTML响应。
另一种解决方法可能是将format.js
作为您控制器中的第一个响应格式(现在可能是HTML),但我忽略了为什么它不会将其识别为Ajax请求开始的原因与?