关于Ruby on Rails视图编写的一些建议

时间:2021-05-23


不要直接从视图调用模型层。
不要在视图构造复杂的格式,把它们输出到视图 helper 的一个方法或是模型。
使用 partial 模版与布局来减少重复的代码。

加入 client side validation 至惯用的 validators。 要做的步骤有:

声明一个由 ClientSideValidations::Middleware::Base 而来的自定 validator

module ClientSideValidations::Middleware class Email < Base def response if request.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 #= require rails.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 return options.message || 'invalid e-mail format'


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章