从Rails中的模型名称获取文件名(反之亦然)

时间:2013-06-06 21:42:51

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

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

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

2 个答案:

答案 0 :(得分:2)

从模型到文件名

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

从文件名到模型

“app / models / foo / bar.rb”.sub(“app / models /”,“”)。sub(“。rb”,“”)。classify

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

答案 1 :(得分:0)

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