0

在我的config/database.yml文件中,我需要检索当前文件路径。我试过这个:

<%
  logger = Logger.new(STDOUT)
  logger.debug __FILE__
%>

那输出(erb)而不是./config/database.yml

我知道我可以使用

Rails.root.join('config', 'database.yml')

但这并不令人满意,因为它不是动态的。

这里的目标是获取文件所有者的 unix 名称,以便将其用作数据库名称的前缀,这样多个开发人员就可以使用不同的数据库,而不会有提交不需要的更改的风险:

development:
    database: <%= Etc.getpwuid(File.stat(__FILE__).uid).name %>_project_db
4

1 回答 1

1

如果有人发现这个,我最后是这样做的:

应用程序.rb

class Application < Rails::Application
  config.whoami = Etc.getpwuid(File.stat(__FILE__).uid).try(:name)
  config.whoami.try(:downcase!)

  [...]
end

database.yaml中

development:
  database: <%= Rails.application.config.whoami %>_project_db
于 2013-12-24T11:06:24.143 回答