2015-01-21 3 views
0

Возможно ли выполнить запросы Ajax в рельсах без удаленных помощников? Я пытаюсь сделать это самим с этим кодом (CoffeeScript ниже) Сейчас я получаю сообщение об ошибке ActionController :: UnknownFormat, когда я отправить форму:Ajax без помощников в Rails

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 

ответ

0

Вы получаете ActionController::UnknownFormat, потому что вы только ответить на формат js ,

Я хотел бы изменить свой контроллер:

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

И Javascript для:

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

Кроме того, ваша вспышка ничего не делает, так как вы только ответить на JSON. Вероятно, вам лучше позвонить save! и добавить обработчик ошибок в ваш вызов ajax.

Смежные вопросы