从迁移中获取文件的完整路径

时间:2014-02-14 14:57:13

标签: activerecord ruby-on-rails-3.2 migration ruby-1.8.7

我需要在迁移期间将文件的内容插入数据库(Rails 3.2.13)。引用项目中其他位置的文件的正确方法是什么?

分贝/迁移/ the_migration.rb

class ...
  content = File.read("../../app/views/layours/application.html.erb")
end

相对路径似乎不起作用 - 我得到:

No such file or directory - ../../app/views/layouts/application.html.erb

如何将此路径映射到绝对路径?

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

class ...
  path = File.expand_path('../../app/views/layouts/application.html.erb', __FILE__)
  content = File.read(path)
end

答案 1 :(得分:0)

假设您使用rake应用活动记录迁移。文件路径将相对于你开始rake的位置,我相信它将是项目的根目录。

文件路径为:

content = File.read(“app / views / layouts / application.html.erb”)