【发布时间】:2013-06-06 21:42:50
【问题描述】:
有没有办法从 Rails 模型的文件名(例如/app/models/foo/bar.rb)到模型名称(例如Foo::Bar)?和/或反之亦然?
或者我必须解析字符串以找出它们对应的内容吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4
有没有办法从 Rails 模型的文件名(例如/app/models/foo/bar.rb)到模型名称(例如Foo::Bar)?和/或反之亦然?
或者我必须解析字符串以找出它们对应的内容吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4
从模型到文件名
["app/models/", Foo::Bar.to_s.underscore, ".rb"].join("")
从文件名到模型
"app/models/foo/bar.rb".sub("app/models/", "").sub(".rb", "").classify
我知道这看起来像是一个 hack。但是做这些事情没有简单的方法
【讨论】:
似乎最接近的方法是使用ActiveSupport::Inflector 中的underscore 和camelize 方法。
【讨论】: