【发布时间】:2013-01-27 22:46:09
【问题描述】:
在我的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
【问题讨论】:
-
@MrYoshiji 您可以使用
<% %>和<%= %>标签在yaml 文件中使用ruby/erb 代码 -
好的@checkit 我删除了我的(无用的)评论,谢谢
-
检查 stackoverflow.com/questions/592554/… 以获得自定义环境的更好方法
-
@Crystark 是否给出任何错误.. 尝试:
'<%= Etc.getpwuid(File.stat(__FILE__).uid).name %>_project_db' -
@checkit 引发以下错误:
No such file or directory - (erb)
标签: ruby-on-rails yaml erb