gpt4 book ai didi

jquery - Ruby on Rails/AJAX : How can I refresh page on successful submit or display error?

转载 作者:行者123 更新时间:2023-12-01 04:06:30 24 4
gpt4 key购买 nike

我是 Rails 新手,我正在尝试配置我的表单以通过 ajax 提交请求。我的页面有一个使用具有以下形式的 Bootstrap 的弹出窗口。

如果数据有效,那么我希望页面重定向到原始页面("new"操作)。如果存在重复的成员(模型在保存时返回 false),那么我想显示此错误消息:

“您已存在于我们的系统中,或者您的电子邮件地址重复。如果您之前注册过,请登录。”

这是 View (仅部分):

 <%= form_for(@person, url: {controller: "sign_ins"},html: {class: "form-signup",
id: "signupform"}, remote: true) do |f| %>
<p id="info_text" class="lead">Please enter the information below to register.</p>
<div id = "err_msg"></div>
<%= render("shared/companylist") %>
<%= f.text_field :first_name, class: "form-control fieldBottomMargin", placeholder: "First Name", required: true %>
<%= f.text_field :last_name, class: "form-control fieldBottomMargin", placeholder: "Last Name", required: true %>
<%= f.phone_field :phone, class: "form-control fieldBottomMargin",
placeholder: "Phone Number (No Dashes)", required: true, pattern: "([0-9]{10})" %>
<%= f.email_field :email, class: "form-control fieldBottomMargin", placeholder: "E-mail", required: true%>
<%= f.button "Register", class: "btn btn-lg btn-primary btn-block", id: "btnsubmit" %>
<% end %>

这是我的 Controller 创建操作,我不知道它是否正确:

def create
@person = Person.new(person_params) #Call 'strong paremeters' method.
respond_to do |format|
if @person.save
format.html {redirect_to home_url}
format.js {}
else
@err_msg = "You already exist in our system or your e-mail address is a duplicate.
Please sign in if you have registered before."
format.js {}
end
end

结束

这是我的(失败的)js 文件,我不知道如何配置它。

 $('#err_msg').html('<div class="alert alert-danger"><%= j @err_message %></div>');

我们已经为此工作了几个小时。感谢任何帮助。谢谢。

最佳答案

在 create.js.erb 文件中,您可以使用 jquery 来显示它。

$('#err_msg').html('<div class="alert alert-danger"><%= j @err_message %></div>');

要在保存对象时重定向,请在 Controller 中执行以下操作:

  format.js { render js: 'window.location.href = "/your_desired_path";' }

这些应该足够了!

关于jquery - Ruby on Rails/AJAX : How can I refresh page on successful submit or display error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27085587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com