不要直接從視圖調(diào)用模型層。
不要在視圖構(gòu)造復(fù)雜的格式,把它們輸出到視圖 helper 的一個方法或是模型。
使用 partial 模版與布局來減少重復(fù)的代碼。
加入 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'
您可能感興趣的文章:- Ruby on Rails中的ActiveResource使用詳解
- 關(guān)于Ruby on Rails路由配置的一些建議
- 詳解Ruby on Rails中的Cucumber使用