Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails引导模式客户端验证_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails Rails引导模式客户端验证

Ruby on rails Rails引导模式客户端验证,ruby-on-rails,ajax,Ruby On Rails,Ajax,我有一个ajax引导模式: <%= link_to 'Question', new_question_path, remote: true, class: 'btn btn-info' %> 我在模型内部进行了验证:验证的长度为:content,最大值为:70 对于验证错误,我使用以下两个gem: gem 'client_side_validations' gem 'client_side_validations-simple_form' 模式出现,如果我提交的表格少于70个字

我有一个ajax引导模式:

 <%= link_to 'Question', new_question_path, remote: true, class: 'btn btn-info' %>
我在模型内部进行了验证:
验证的长度为:content,最大值为:70

对于验证错误,我使用以下两个gem:

gem 'client_side_validations'
gem 'client_side_validations-simple_form'
模式出现,如果我提交的表格少于70个字符,问题就会产生。但另一方面,如果我输入超过70个字符,验证错误就会出现,并且会发生一些奇怪的事情。。。如果我键入并重新提交少于70个字符的表单,它将继续给我验证错误,并且不允许我提交表单。我可能错过了一些东西。。。那么,关于如何解决这个问题有什么想法吗

更新

好吧,我试过这个。。。。我在控制器创建方法中添加了感叹号:
if@question.save并且我在控制台得到验证错误。验证错误根本不会出现在模态上。然后当我试图提交少于70个字符的表单时,它就通过了。所以从我的理解来看,两颗宝石的设置有问题。谁能帮点忙吗

(0.2ms)  ROLLBACK
  ↳ app/controllers/questions_controller.rb:14
Completed 422 Unprocessable Entity in 10ms (ActiveRecord: 1.6ms)

ActiveRecord::RecordInvalid (Validation failed: Content is too long (maximum is 70 characters)):

我需要把这个放在我的模型里:

<div id="formModal">
    <%= render partial: 'layouts/messages' %>
 </div>
这里面有create.js.erb

$("#formModal").html("<%= escape_javascript(render partial: 'layouts/messages') %>");
$(“#formModal”).html(“”);

我需要把它放在我的模型中:

<div id="formModal">
    <%= render partial: 'layouts/messages' %>
 </div>
这里面有create.js.erb

$("#formModal").html("<%= escape_javascript(render partial: 'layouts/messages') %>");
$(“#formModal”).html(“”);

验证是由javascript执行的吗?感谢@Rodrigo的回复,验证通过我上面提到的两个gem工作,是的,我相信gems使用的是javascript。你可以打开Dev Tools的Network选项卡查看这一点,并查找AJAX请求。或者只需查看rails服务器日志,查看是否有任何请求被发出
curl'https://localhost:3000/assets/rails.validations.self-7ede4f32d93d43f53836b343c720442683029575668acd0fe95f2905b4fdb43f.js?主体=1'\-XGET
验证是由javascript执行的吗?感谢@Rodrigo的回复,验证通过我上面提到的两个gem工作,是的,我相信gems使用的是javascript。你可以打开Dev Tools的Network选项卡查看这一点,并查找AJAX请求。或者只需查看rails服务器日志,查看是否有任何请求被发出
curl'https://localhost:3000/assets/rails.validations.self-7ede4f32d93d43f53836b343c720442683029575668acd0fe95f2905b4fdb43f.js?主体=1'\-XGET
def create
  @question = Question.new(question_params)

  respond_to do |format|
    if @question.save
      flash.now[:success] = "Question was successfully sent!"
      format.js { render 'create.js.erb' }
    else
      flash.now[:alert] = "Something went wrong!"
      format.js { render 'create.js.erb' }
    end
  end
end
$("#formModal").html("<%= escape_javascript(render partial: 'layouts/messages') %>");