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

誰かがこれを見つけた場合に備えて、最終的に私がそれを行った方法は次のとおりです。

application.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 に答える