加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Ruby on Rails中获取人类可读的类名?

发布时间:2020-12-17 04:19:13 所属栏目:百科 来源:网络整理
导读:我正在使用 Ruby 1.9.3和Rails 3.0.9构建一个应用程序 我有一个类似下面的课程. module CDA class Document def humanize_class_name self.class.name.gsub("::","") end endend 我想要类名“CDADocument”. 我的humanize_class_name方法是否是实现此目的的
我正在使用 Ruby 1.9.3和Rails 3.0.9构建一个应用程序

我有一个类似下面的课程.

module CDA
  class Document
    def humanize_class_name
      self.class.name.gsub("::","")
    end
  end
end

我想要类名“CDADocument”.

我的humanize_class_name方法是否是实现此目的的正确方法?

要么

Rails提供的任何其他内置方法?

解决方法

我认为Rails可能有类似的东西,但由于你想要的形式很奇怪,你必须自己设计方法.您定义它的位置是错误的.你必须为每个班级做到这一点.相反,您应该在Class类中定义它.
class Class
    def humanize_class_name
      name.delete(":")
    end
end
some_instance.class.humanize_class_name #=> the string you want

要么

class Object
    def humanize_class_name
        self.class.name.delete(":")
    end
end
some_instance.humanize_class_name #=> the string you want

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读