首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过jquery提交rails表单时未执行验证

通过jquery提交rails表单时未执行验证
EN

Stack Overflow用户
提问于 2011-09-26 05:27:15
回答 1查看 218关注 0票数 0

我做了一个简单的rails表单,有两个用户输入,姓名和电子邮件。我使用的是Rails3.1,所以我在form_for标记中使用了:remote => true。我还创建了一个create.js.erb,并在users_controller.rb中添加了相应的format.js

我在create.js.erb中添加了以下代码行

代码语言:javascript
运行
复制
$(document).ready(function(){
    $('body').html("<h1>Registration Successful</h1>")
});

现在的问题是,当我单击submit按钮时,它没有显示我在user.rb模型文件中添加的验证错误消息。相反,它将向我显示registration successful消息。

在rails中有什么简单的方法可以绕过这个问题吗?另外请注意,我在javascript方面做得很差,所以请对我好一点。

用于创建的控制器代码

代码语言:javascript
运行
复制
  def create
    @user = User.new(params[:user])

    respond_to do |format|
      if @user.save
        #UserMailer.registration_confirmation(@user).deliver
        format.html { redirect_to @user, notice: 'User was successfully created.' }
        format.js
      else
        format.html { render action: "new" }
        format.js
      end
    end
  end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-26 05:34:13

它没有显示错误的原因是因为你没有告诉它,你只是告诉它写“注册成功”。您可以尝试:

代码语言:javascript
运行
复制
<% @user.errors.full_messages.each do |error| %>
  $('body').prepend("<h1><%=error%></h1>");
<% end %>

这假设您的控制器具有以下内容或类似的内容:

代码语言:javascript
运行
复制
@user = User.create(params[:user])

希望这足以让你入门。如果没有,将需要一些控制器代码来提供进一步的帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7548735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档