【问题标题】:Get filename from model name in Rails (and vice versa)从 Rails 中的模型名称获取文件名(反之亦然)
【发布时间】:2013-06-06 21:42:50
【问题描述】:

有没有办法从 Rails 模型的文件名(例如/app/models/foo/bar.rb)到模型名称(例如Foo::Bar)?和/或反之亦然?

或者我必须解析字符串以找出它们对应的内容吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    从模型到文件名

    ["app/models/", Foo::Bar.to_s.underscore, ".rb"].join("")

    从文件名到模型

    "app/models/foo/bar.rb".sub("app/models/", "").sub(".rb", "").classify

    我知道这看起来像是一个 hack。但是做这些事情没有简单的方法

    【讨论】:

      【解决方案2】:

      似乎最接近的方法是使用ActiveSupport::Inflector 中的underscorecamelize 方法。

      【讨论】:

        猜你喜欢
        • 2014-11-19
        • 2013-07-05
        • 2014-07-05
        • 2010-10-09
        • 2013-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多