0

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

还是我必须解析字符串以找出它们对应的内容?

4

2 回答 2

2

从模型到文件名

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

从文件名到模型

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

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

于 2013-06-07T04:00:20.623 回答
0

似乎可以做的最接近的事情是使用ActiveSupport::Inflectorunderscore中的andcamelize方法。

于 2013-06-06T22:42:31.607 回答