Я делаю ajax-вызов (используя JQuery), и контроллер Rails должен вернуть частичное, чтобы я мог обновить страницу после ajax-вызова. Мне кажется, есть 2 способа сделать это. В контроллере вы фильтруете вызовы ajax (request.xhr?) И возвращаете:
.js.erb, который выполняется на стороне клиента как часть самого вызова Ajax (dataType: script). Этот файл .js.erb управляет DOM и внедряет html частичек, что-то вроде этого:
$ ('# content'). Html ("<% = escape_JavaScript (render: частичный => 'success')%>");
частичное ((dataType: html). У вас есть успешный метод обратного вызова при вызове ajax, который затем выполняет инъекцию, примерно так:
$. Post (url, send_data,
функция (данные) {
$ ("#result") .empty (). append (data);
}
Оба эти решения работают отлично, я просто не знаю, какое из них считается лучшей практикой кодирования и проще в обслуживании.