代码之家  ›  专栏  ›  技术社区  ›  Kingsley Simon

form\u tag remote true不作为json请求处理rails 5

  •  0
  • Kingsley Simon  · 技术社区  · 7 年前

    我的申请表上有这样一张表格

    <%= form_tag(studios_path, method: :get, id: "studios_filter", remote: true) do %>
    
    <% end %>
    

    //= require jquery
    //= require jquery_ujs
    //= require rails-ujs
    //= require jquery3
    //= require turbolinks
    //= require cocoon
    //= require bootstrap
    //= require_tree .
    

    不管是什么时候,每当我提交这份表格时,我都是这样得到的

    Started GET "/studios?utf8=%E2%9C%93&workout_category_id_list=&neighbourhood_list=Kuala+Lumpur&studio_id_list=" for 127.0.0.1 at 2018-12-28 12:42:12 +0800
    Processing by StudiosController#index as HTML
    

    它是作为HTML处理的,而不是作为JSON处理的 remote: true

    2 回复  |  直到 7 年前
        1
  •  1
  •   Rohan    7 年前

    根据帖子中提到的描述,似乎您关心的是预期的请求类型(“json”)没有通过控制器发送。

    <%= form_tag(studios_path, method: :get, id: "studios_filter", remote: true, :html => {:'data-type' => 'json'}) do %>
    

    这将以json类型处理请求。

        2
  •  0
  •   Vikas Verma    7 年前

    method: :get 在您的表单中,所有的表单值都会附加到路径中,您必须将此方法用作 post

        3
  •  0
  •   curiouscode    7 年前

    我也遇到了同样的问题:Rails5正在处理我的 remote: true 表单提交为 HTML

    //= require jquery_ujs
    

    application.js