ruby-on-rails – 使用rails中的jquery和Ajax检查用户名可用性
发布时间:2020-12-17 02:53:36 所属栏目:百科 来源:网络整理
导读:我正在使用带有 jquery和ajax的rails来检查用户名的可用性.我在用 ????以下用于jquery验证目的的插件. https://github.com/posabsolute/jQuery-Validation-Engine 在我的控制器中,我使用以下方法检查用户名可用性. def check_name name = params[:name] if n
我正在使用带有
jquery和ajax的rails来检查用户名的可用性.我在用
????以下用于jquery验证目的的插件. https://github.com/posabsolute/jQuery-Validation-Engine 在我的控制器中,我使用以下方法检查用户名可用性. def check_name name = params[:name] if name.strip == "" render :json => { :available => false } return end user = User.find(:first,:conditions => [ "name = ?",name]) if user render :json => ["name",false,"This name is already taken"] else render :json => ["name",true,""] end end 这是编写方法的正确方法吗?我检查了许多用户名可用性 解决方法
我正在补充答案.对不起,迟到的家伙们.
该插件的第一个功劳:https://github.com/posabsolute/jQuery-Validation-Engine. 在视图中,我有 <%= f.username_field :username,:id => 'free-user',:placeholder=>'User Name',:class => "validate[required,ajax[ajaxUserCall]]","data-prompt-position" => "topLeft:0,9"%> 在同一视图中,在java脚本中: <script type="text/javascript"> $(document).ready(function(){ $("#free-user").bind("jqv.field.result",function(event,field,errorFound,prompText){ if(errorFound){ $(".continue").attr("disabled",false); // .continue is a button } else{ $(".continue").attr("disabled",true); } }) }); </script> 在routes.rb中,我有以下路线. match '/check-user' =>"users#check_user" // creating route for ajax call 在jquery.validationEngine-en.js文件中,我有以下内容: "ajaxUserCall": { "url": "/check-user",// you may want to pass extra data on the ajax call "alertText": "* This user is already taken","alertTextLoad": "* Validating,please wait" }, 在用户控制器中,我有以下方法 def check_user user = params[:fieldValue] user = User.where("username = ?",username).first if user.present? render :json => ["free-user","This User is already taken"] else render :json => ["free-user",""] end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |