`
cvu
  • 浏览: 108340 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

中文Scaffold

阅读更多
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 ASP.NET MVC 中文教程知识点详解 #### 一、Scaffold 概念与作用 在软件开发领域,特别是Web应用开发中,Scaffold是一种快速生成基础代码结构的方法。通过Scaffold工具,开发者可以快速创建出包含基本...

    graduation-scaffold_biyesheji_

    【标题】"graduation-scaffold_biyesheji_" 暗示了这是一个关于毕业设计的项目,可能是一个软件开发的毕业作品,而“biyesheji”(毕设)是中文中的毕业设计简称。这个项目可能是一个混合应用程序(Mix App),意味...

    Struts in Action 中文修正版源代码1

    这本书的中文修正版源代码1提供了与书中的示例和教程对应的代码资源,帮助读者更好地理解和学习Struts框架的工作机制。 Apache Struts是一个基于Model-View-Controller (MVC)设计模式的开源Java Web应用程序框架。...

    RoR中文解决方案(很不错哦)

    “jascaffold”则可能是另一个RoR插件,它提供了自动化生成控制器、模型和视图的功能,类似于Rails的“scaffold”命令,但可能有额外的特性或优化,比如对中文支持的增强。Jascaffold可能简化了开发过程,特别是在...

    Ruby for Rails中文版》.(美)David Black ).zip

    4. **生成器和Scaffold**:Rails提供了一系列命令行工具,可快速生成控制器、模型、视图等文件,Scaffold则能自动生成完成的CRUD应用。 5. **自动化测试**:Rails内置了Test::Unit和RSpec测试框架,鼓励开发者编写...

    RubyOnRails教程中文版

    通过阅读"Ruby on Rails 敏捷开发实践.pdf"和运行"RubyOnRails教程中文版.exe",你可以深入了解Rails的各个方面,并逐步掌握这个强大的Web开发框架。不断实践,你将能够利用Rails快速构建高质量的Web应用。

    中文版rails教程

    1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...

    odoo10-官方中文API

    - **步骤 1**:使用 `odoo-bin scaffold openacademy addons` 命令创建一个空模块。 - **步骤 2**:编辑模块的清单文件 `__manifest__.py`,定义模块的基本属性,例如名称、描述、依赖项等。 - **步骤 3**:不需修改...

    Item_增删改查_EFCORE2.2中文文档_

    标题"Item_增删改查_EFCORE2.2中文文档_"表明这个压缩包包含的是关于使用Entity Framework Core(EFCORE)2.2版本进行数据库操作,特别是CRUD(创建、读取、更新、删除)功能的中文文档。EFCORE是微软提供的一个轻量...

    Ubuntu 11.04安装Ruby on rails 连接MySQL数据库.pdf

    接下来,为了确保数据库能够正确处理中文字符,需编辑`/etc/mysql/my.cnf`文件,在`[client]`和`[mysqld]`部分添加以下行: ```ini [client] default-character-set=utf8 [mysqld] default-character-set=utf8 ```...

    ASP.NET MVC3官方实例教程MusicStore中文版

    通过“支架”(Scaffold)技术快速创建编辑表单,同时利用DataAnnotations进行模型验证,确保用户输入数据的正确性和完整性。这不仅提升了用户体验,还增强了应用程序的安全性。 #### 成员管理和授权 实现用户注册...

    ror中文资料

    8. **Scaffold**:快速生成基本CRUD(创建、读取、更新、删除)操作的代码,用于快速搭建应用原型。 9. **ActiveSupport**:提供了一系列实用工具方法和模块,增强Ruby语言功能,如时间处理、数组和哈希操作等。 ...

    Hexo静态网站搭建,中文文档

    Hexo的核心还包括文章、脚手架(Scaffold)、主题、渲染引擎(Renderer)等概念。文章是网站的主要内容,脚手架用于初始化文章模板,主题负责网站的视觉展现,渲染引擎则是将Markdown或其他格式的内容转换成HTML的...

    grails学习遇到的问题

    - `scaffold`属性在控制器类中使用,如`def scaffold = Race`,这使得Grails能够自动生成针对`Race`领域类的CRUD操作,无需编写大量代码。 5. **数据源配置**: - `grails-app/conf/DataSource.groovy`文件中,`...

Global site tag (gtag.js) - Google Analytics