【问题标题】:Ajax with no helpers in Rails在 Rails 中没有助手的 Ajax
【发布时间】:2015-01-21 23:49:23
【问题描述】:

是否可以在没有远程助手的情况下在 Rails 中执行 Ajax 发布请求?我正在尝试用这段代码自己做(咖啡脚本在下面)现在我在提交表单时收到 ActionController::UnknownFormat 错误:

  def create
    @soup = Soup.new(soup_params)
    unless @soup.save
      flash[:danger] = "You failed"
    end
    respond_to do |f|
      f.js
    end
  end


  $('form').on('submit', function(event) {
    var form;
    event.preventDefault();
    form = $(this);
    return $.ajax('/soup', {
      type: 'POST',
      data: form.serialize,
      success: function(result) {
        return form.remove();
      }
    });
  });


= form_for(Soup.new) do |f|
  = f.text_field :name
  = f.number_field :age
  = f.submit

【问题讨论】:

    标签: jquery ruby-on-rails ajax coffeescript


    【解决方案1】:

    你得到ActionController::UnknownFormat,因为你只回复js格式。

    我会将您的控制器更改为:

    resond_to do |format|
      format.json { render json: @soup }
    end
    

    和 javascript 到:

    $.ajax('/soup.json', {
      // ...
    })
    

    另外,你的 flash 没有做任何事情,因为你只响应 json。您最好调用 save! 并向您的 ajax 调用添加错误处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多