关于Ruby on Rails视图编写的一些建议
不要直接从视图调用模型层。
不要在视图构造复杂的格式,把它们输出到视图helper的一个方法或是模型。
使用partial模版与布局来减少重复的代码。
加入clientsidevalidation至惯用的validators。要做的步骤有:
声明一个由ClientSideValidations::Middleware::Base而来的自定validator
moduleClientSideValidations::Middleware classEmail<Base defresponse ifrequest.params[:email]=~/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i self.status=200 else self.status=404 end super end end end
建立一个新文件public/javascripts/rails.validations.custom.js.coffee并在你的application.js.coffee文件加入一个它的参照:
#app/assets/javascripts/application.js.coffee #=requirerails.validations.custom
添加你的用户端validator:
#public/javascripts/rails.validations.custom.js.coffee clientSideValidations.validators.remote['email']=(element,options)-> if$.ajax({ url:'/validators/email.json', data:{email:element.val()}, async:false }).status==404 returnoptions.message||'invalide-mailformat'