Ajax在Rails中没有任何帮助

Is it possible to do Ajax post requests in rails without the remote helpers? I am trying to do it myself with this code (the coffeescript is below) Right now I am getting a ActionController::UnknownFormat error when I submit the form:

  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

You get ActionController::UnknownFormat because you only respond to js format.

I would change your controller to:

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

And javascript to:

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

Also, your flash is not doing anything since you only respond to json. You are probably better off calling save! and adding an error handler to your ajax call.