关于Ruby on Rails视图编写的一些建议
不要直接从视图调用模型层。
不要在视图构造复杂的格式,把它们输出到视图 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 on Rails路由配置的一些建议
当你需要加入一个或多个动作至一个 RESTful 资源时(你真的需要吗?),使用 member and collection 路由. # 差 get 'subscriptions/:id/unsubscribe' resources :subscriptions # 好 resources :subscriptions do get 'unsubscribe', on: :member end # 差 get 'photos/search' resources :photos # 好 resou
-
Ruby on Rails中的ActiveResource使用详解
当 HTTP 响应是一个与存在的格式不同的格式时(XML 和 JSON),需要某些额外的格式解析,创一个你惯用的格式,并在类别中使用它.惯用的格式应当实作下列方法:extension, mime_type, encode 以及 decode. module ActiveResource module Formats module Extend module CSVFormat extend self def extension 'csv' end def mime_type 'text/
-
详解Ruby on Rails中的Cucumber使用
用 @wip (工作进行中)标签标记你未完成的场景.这些场景不纳入考虑,且不标记为测试失败.当完成一个未完成场景且功能测试通过时,为了把此场景加至测试套件里,应该移除 @wip 标签. 配置你的缺省配置文件,排除掉标记为 @javascript 的场景.它们使用浏览器来测试,推荐停用它们来增加一般场景的执行速度. 替标记著 @javascript 的场景配置另一个配置文件. 配置文件可在 cucumber.yml 文件里配置. # 配置文件的定义: profile_name: --tag
-
关于Ruby on Rails视图编写的一些建议
不要直接从视图调用模型层. 不要在视图构造复杂的格式,把它们输出到视图 helper 的一个方法或是模型. 使用 partial 模版与布局来减少重复的代码. 加入 client side validation 至惯用的 validators. 要做的步骤有: 声明一个由 ClientSideValidations::Middleware::Base 而来的自定 validator module ClientSideValidations::Middleware class Em
-
在Ruby on Rails中使用Rails Active Resource的教程
简介 当今的应用程序不仅需要和基于浏览器的客户端互操作,还需要和其他应用程序互操作.为实现互操作性,web 应用程序通常提供一个 web 服务 API.web 服务 API 通过一个网络(比如 Internet)提供对应用程序 的远程访问.直到最近,web 服务 API 还使用重型.复杂的基于 SOAP 的 web 服务集成,这种 web 服务,不仅没有什么优点,而且还需要很长时间才能实现.带有基于 Representational State Transfer (REST) 服务的 Rails
-
Ruby on Rails中MVC结构的数据传递解析
如果读者已经开发过基于 Rails 的应用,但对其 MVC 间的数据传递还有诸多困惑,那么恭喜您,本文正是要总结梳理 Rails 数据传递的方法和技巧.Ruby on Rails 3(以下统称为 Rails 3)是当前的主要发布版本,本文所述及的内容和代码都基于此版本. Rails 3 简介 Ruby on Rails 是一个 Ruby 实现.采用 MVC 模式的开源 Web 应用开发框架,能够提供 Web 应用的全套解决方案.它的"习惯约定优于配置"的设计哲理,使得 Web 开发人员
-
在Ruby on Rails中优化ActiveRecord的方法
Ruby on Rails 编程常常会将您宠坏.这一不断发展的框架会让您从其他框架的沉闷乏味中解脱出来.您可以用习以为常的几行代码片断表达自己的意图.而且还可以使用 ActiveRecord. 对于我这样的一个老 Java? 程序员而言,ActiveRecord 多少有点生疏.通过 Java 框架,我通常都会在独立的模型和模式之间构建一种映射.像这样的框架就是映射框架.通过 ActiveRecord,我只定义数据库模式:或者用 SQL 或者用称为迁移(migration)的 Ruby 类.将对象
-
在Ruby on Rails中使用AJAX的教程
如果没有听说过 Rails,那么欢迎您外星旅行归来,近几年大概只有那个地方没有听说过 Ruby on Rails 了.Rails 最吸引人的地方是能够很快地建立功能完备的应用程序并运行起来.Rails 为 Ajax 而内置集成的 Prototype.js 库可以轻松快速地创建所谓的富 Internet 应用程序. 本文将逐步引导您创建 Rails 应用程序.然后深入分析如何利用 Ajax 特性编写从服务器上读写数据的 JavaScript 代码. 从容起步 Ajax 之旅--Ajax 技术资源中
-
使用Ruby on Rails快速开发web应用的教程实例
Ruby on Rails 正在令整个 Web 开发领域受到震憾.让我们首先了解底层的技术: Ruby 是一门免费的.简单的.直观的.可扩展的.可移植的.解释的脚本语言,用于快速而简单的面向对象编程.类似于 Perl,它支持 处理文本文件和执行系统管理任务的很多特性. Rails 是用 Ruby 编写的一款完整的.开放源代码的 Web 框架,目的是使用更简单而且更少的代码编写实际使用的应用程序. 作为一个完整的框架,这意味着 Rails 中的所有的层都是为协同工作而构造的,所以您不必自己
-
几个加速Ruby on Rails的编程技巧
Ruby 语言常以其灵活性为人所称道.正如 Dick Sites 所言,您可以 "为了编程而编程".Ruby on Rails 扩展了核心 Ruby 语言,但正是 Ruby 本身使得这种扩展成为了可能.Ruby on Rails 使用了该语言的灵活性,这样一来,无需太多样板或额外的代码就可以轻松编写高度结构化的程序:无需额外工作,就可以获得大量标准的行为.虽然这种轻松自由的行为并不总是完美的,但毕竟您可以无需太多工作就可以获得很多好的架构. 例如,Ruby on Rails 基于模型-
-
windows下安装ruby与rails时遇到的问题总结
前言 最近因为工作的需要,准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题. 说明下:文章是按照我尝试的过程描述的.但最终是靠 运行 railsinstaller一键式安装包才成功的(第五段),因此前面的部分大家可以看看,但不用去尝试. 下面来看看详细的介绍吧: 一.首先要安装ruby 因为在windows下安装ruby,都是推荐下载rubyinstaller安装程序. 先进入ruby官网http://www.ruby-lang.org/en/down
-
简单对比分析Ruby on Rails 和 Laravel
在线web应用程序开发目前有许多正流行的框架. 也有许多不同类型的框架,比如那些拥有大量插件,可以让你更加快速的迭代 (比如 Rails),或者还有其它非常简单和低级别的 (比如 Flask). web应用程序开发中两个相对而言更加流行的框架是 Ruby on Rails 和 Laravel. 它们两个都是非常成熟的项目,已经面世相当长一段时间了 . Ruby on Rails 在2005年12月被引入,而 Laravel 则是2012年2月 . 如上所示的第一次发布的时间, Larave
随机推荐
- 浅述SQL Server的聚焦强制索引查询条件和Columnstore Index
- Angular2 多级注入器详解及实例
- 用 或 || 来兼容FireFox
- javascript RegExp multiline多行匹配影响的^$
- spring+hibernate 两种整合方式配置文件的方法
- iOS App设计模式开发之适配器模式使用的实战演练
- iOS如何将字符串中特定后的字变成红色
- 图片自动更新(说明)
- JavaScript如何自定义trim方法
- PHP遍历目录并返回统计目录大小
- php 生成签名及验证签名详解
- php中call_user_func函数使用注意事项
- php调用mysql存储过程
- python常用函数详解
- Nodejs极简入门教程(三):进程
- jquery向上向下取整适合分页查询
- CentOS 6.3编译安装LAMP环境笔记
- 标准的js无缝滚动效果
- react-router4 嵌套路由的使用方法
- IIS7/IIS7.5/IIS8网站目录执行权限设置方法(与IIS6不同)