浏览 3026 次
锁定老帖子 主题:扩展string类
精华帖 (0) :: 良好帖 (0) :: 新手帖 (14) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-03
最后修改:2011-04-15
一、camelize
这个方法可以将字符串转成驼峰形式,并且可以将字符串中的/替换成::
def camelize return self.gsub( /\/(.?)/ ) { "::" + $1.upcase }. gsub( /(^|_)(.)/ ) { $2.upcase } end
"active_record".camelize #=> "ActiveRecord" "active_record/errors".camelize #=> "ActiveRecord::Errors"
二、underscore
这是camelize的逆向转换
def underscore return self.gsub( /::/, '/' ). gsub( /([A-Z]+)([A-Z][a-z])/, '\1_\2' ). gsub( /([a-z\d])([A-Z])/ , '\1_\2' ). tr( "-", "_" ). downcase end
"ActiveRecord".underscore #=> "active_record" "ActiveRecord::Errors".underscore #=> active_record/errors
具体如何将这两个方法加入模块中,可以参考在rails中如何加载自定义方法 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-03
楼主可参考 module ActiveSupport::CoreExtensions::String的 camelize 和underscore 方法。
|
|
返回顶楼 | |