Rails1.2以后有一个scaffold_resource的generator,那些column在view里都展开了。相比老的scaffold要管用很多(老的scaffold基本上是个花瓶功能),开发可以在这个生成结果的基础上开展。
我在用rails做一个中文项目。每次生成scaffold_resource生成代码以后,都要去手工把Edit,View等等链接改成中文,还有那些column的名字,不胜其烦,根本没有享受到新版scaffold的便捷。有过同样经历的朋友会理解这种烦恼,最大的烦恼是做这些重复动作很傻,很不DRY。在多方搜索未果之下,决定自己改装出一个中文scaffold。
改装基于两个基础:
l10n_simplified为主,
mod_i18n为辅。
功能
改装好的plugin除了中文scaffold之外,还享受到了这两个基础plugin的几大好处:
1、Validation报错中文化
h2.保存该客户时发生2 个错误。
p.错误字段如下:
* 客户名称 不能重复。
* 地址 不能为空。
2、中文日期时间显示
>> Time.now.to_s(:long) # => 2007年6月6日(星期四)22时30分12秒
>> Time.now.to_s(:short) # => 6月6日 22:30
3、中文时间间隔
>> helper.distance_of_time_in_words 50.seconds.ago # => 不到1分钟
4、人民币显示
>> helper.number_to_currency 1039.12 # => ¥1,039.12
5、数组转换成中文句子
>> ["张三", "李四", "王二"].to_sentence # => "张三、李四和王二"
6、可以自定义翻译项
安装
附件zip解压缩到你的$RAILS_ROOT/vender/plugins下就可以了。
注意,rails版本一定是1.2以上。
Scaffold命令示例(其实就是rails1.2的scaffold_resource命令)
script/generate scaffold_resource customer name:string address:string
用法
要在model文件里加一些const,比如刚才创建的:app/models/customer.rb
class Customer < ActiveRecord::Base
validates_presence_of :name, :address
validates_uniqueness_of :name
# human names
ModelName = "客户"
ColumnNames = {
:name => "客户名称",
:address => "地址"
}
end
License
继承所参考的项目:MIT License
TODO(如果有空的话)
1、递交给l10n-simplified.rubyforge.org
2、如果作者不接受,新建一个google code的project,这样就可以通过script/plugin install安装了。
3、完善它
4、做一个video,或者贴图,让人一看就懂
分享到:
相关推荐
### Scaffold ASP.NET MVC 中文教程知识点详解 #### 一、Scaffold 概念与作用 在软件开发领域,特别是Web应用开发中,Scaffold是一种快速生成基础代码结构的方法。通过Scaffold工具,开发者可以快速创建出包含基本...
【标题】"graduation-scaffold_biyesheji_" 暗示了这是一个关于毕业设计的项目,可能是一个软件开发的毕业作品,而“biyesheji”(毕设)是中文中的毕业设计简称。这个项目可能是一个混合应用程序(Mix App),意味...
这本书的中文修正版源代码1提供了与书中的示例和教程对应的代码资源,帮助读者更好地理解和学习Struts框架的工作机制。 Apache Struts是一个基于Model-View-Controller (MVC)设计模式的开源Java Web应用程序框架。...
“jascaffold”则可能是另一个RoR插件,它提供了自动化生成控制器、模型和视图的功能,类似于Rails的“scaffold”命令,但可能有额外的特性或优化,比如对中文支持的增强。Jascaffold可能简化了开发过程,特别是在...
4. **生成器和Scaffold**:Rails提供了一系列命令行工具,可快速生成控制器、模型、视图等文件,Scaffold则能自动生成完成的CRUD应用。 5. **自动化测试**:Rails内置了Test::Unit和RSpec测试框架,鼓励开发者编写...
通过阅读"Ruby on Rails 敏捷开发实践.pdf"和运行"RubyOnRails教程中文版.exe",你可以深入了解Rails的各个方面,并逐步掌握这个强大的Web开发框架。不断实践,你将能够利用Rails快速构建高质量的Web应用。
1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...
- **步骤 1**:使用 `odoo-bin scaffold openacademy addons` 命令创建一个空模块。 - **步骤 2**:编辑模块的清单文件 `__manifest__.py`,定义模块的基本属性,例如名称、描述、依赖项等。 - **步骤 3**:不需修改...
标题"Item_增删改查_EFCORE2.2中文文档_"表明这个压缩包包含的是关于使用Entity Framework Core(EFCORE)2.2版本进行数据库操作,特别是CRUD(创建、读取、更新、删除)功能的中文文档。EFCORE是微软提供的一个轻量...
接下来,为了确保数据库能够正确处理中文字符,需编辑`/etc/mysql/my.cnf`文件,在`[client]`和`[mysqld]`部分添加以下行: ```ini [client] default-character-set=utf8 [mysqld] default-character-set=utf8 ```...
通过“支架”(Scaffold)技术快速创建编辑表单,同时利用DataAnnotations进行模型验证,确保用户输入数据的正确性和完整性。这不仅提升了用户体验,还增强了应用程序的安全性。 #### 成员管理和授权 实现用户注册...
8. **Scaffold**:快速生成基本CRUD(创建、读取、更新、删除)操作的代码,用于快速搭建应用原型。 9. **ActiveSupport**:提供了一系列实用工具方法和模块,增强Ruby语言功能,如时间处理、数组和哈希操作等。 ...
Hexo的核心还包括文章、脚手架(Scaffold)、主题、渲染引擎(Renderer)等概念。文章是网站的主要内容,脚手架用于初始化文章模板,主题负责网站的视觉展现,渲染引擎则是将Markdown或其他格式的内容转换成HTML的...
- `scaffold`属性在控制器类中使用,如`def scaffold = Race`,这使得Grails能够自动生成针对`Race`领域类的CRUD操作,无需编写大量代码。 5. **数据源配置**: - `grails-app/conf/DataSource.groovy`文件中,`...