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

所属分类: 脚本专栏 / ruby专题 阅读数: 649
收藏 0 赞 0 分享


    不要直接从视图调用模型层。
    不要在视图构造复杂的格式,把它们输出到视图 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'


更多精彩内容其他人还在看

解析 ruby 全局变量

解析 ruby 全局变量
收藏 0 赞 0 分享

ruby 实变量

ruby 实变量
收藏 0 赞 0 分享

ruby 局部变量

ruby 局部变量
收藏 0 赞 0 分享

ruby 类常量 解析

ruby 类常量 解析
收藏 0 赞 0 分享

ruby 异常处理:rescue

ruby 异常处理:rescue
收藏 0 赞 0 分享

ruby 异常处理:ensure

ruby 异常处理:ensure
收藏 0 赞 0 分享

ruby 存取器 概念

ruby 存取器 概念
收藏 0 赞 0 分享

ruby 对象的初始化 方法

ruby 对象的初始化 方法
收藏 0 赞 0 分享

ruby 杂项

ruby 杂项
收藏 0 赞 0 分享

初步了解一下什么是ruby

了解下什么是ruby,希望学习ruby的朋友了解下
收藏 0 赞 0 分享
查看更多