在Rails 5中,可以通过使用Ajax来实现无需页面刷新和重定向的模式表单提交。Ajax是一种在后台与服务器进行数据交换的技术,可以实现异步加载和更新页面内容,从而提升用户体验。
要实现无需页面刷新和重定向的模式表单提交,可以按照以下步骤进行操作:
form_with
方法创建表单,并设置remote: true
选项,以指示表单使用Ajax提交数据。例如:<%= form_with(model: @model, remote: true) do |form| %>
<!-- 表单字段 -->
<% end %>
respond_to
方法来根据请求类型进行响应。例如:def create
@model = Model.new(model_params)
respond_to do |format|
if @model.save
format.html { redirect_to @model }
format.js # 响应Ajax请求
else
format.html { render :new }
format.js # 响应Ajax请求
end
end
end
replaceWith
方法来替换指定元素的内容。例如:// create.js.erb
$('#form-container').replaceWith('<%= j render "success_message" %>');
resources :models
这样,当表单提交时,将会通过Ajax发送请求到服务器,并根据服务器的响应来更新页面内容,而无需页面刷新和重定向。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云