Я опишу приложение, состоящее из формы AJAX, которая также работает с отключенным Javascript.Как реализовать форму AJAX и отобразить шаблон?
При отправке, если Javascript отключен, он отображает новый шаблон с именем «created». Если Javascript включен, он также должен отображать его, но я не знаю, как это сделать.
Обратите внимание: что шаблон не имеет действия контроллера или маршрута, он отображается только по тому же маршруту, что и форма.
Файлы:
app/controllers/users_controller.rb
app/views/users/new.html.erb
app/views/users/created.html.erb
users_controller.rb:
def create
respond_to do |format|
format.html { render :created }
format.js { render js: ??? }
end
end
new.html.erb:
<%= form_tag users_path, remote: true %>
<%= email_field_tag :email %>
<%= submit_tag "OK" %>
<% end %>
created.html.erb:
<div>
Inside this file there is a big template to be rendered.
</div>
Я уже знаю, как сделать это, но я хочу, чтобы повторно использовать свой существующий шаблон created.html.erb. Ввод моего html-кода внутри create.js.erb не будет отображаться автоматически. –
В 'create.js.erb' вы можете сделать что-то вроде' $ (". Form"). ReplaceWith ("<% = escape_javascript (render '/ users/created')%>"); '(если вы используете JQuery). – Florent2
Я думаю, что предложение Florent2 интересное. –