小编Chr*_*rus的帖子

rails database.yml不接受ERB

在我的database.yml中,我有:

staging:
  adapter: <%= ENV['DATABASE_ADAPTER'] %>
  encoding: <%= ENV['DATABASE_ENCODING'] %>
  database: <%= ENV['DATABASE'] %>
  host: <%= ENV['DATABASE_HOST'] %>
  port: <%= ENV['DATABASE_PORT'].to_i %>
  pool: <%= ENV['DATABASE_POOL'].to_i %>
  username: <%= ENV['DATABASE_USERNAME'] %>
  password: <%= ENV['DATABASE_PASSWORD'] %>
Run Code Online (Sandbox Code Playgroud)

但是,在实际启动puma时它不会读取ERB部分:

/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in 
`require': Could not load 'active_record/connection_adapters/<%= ENV['DATABASE_ADAPTER'] %>_adapter'. 
Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3'
add the necessary adapter gem to the Gemfile. (LoadError)
Run Code Online (Sandbox Code Playgroud)

这没有任何意义,因为在Rails代码中加载数据库配置:

  def database_configuration
    yaml = Pathname.new(paths["config/database"].existent.first || …
Run Code Online (Sandbox Code Playgroud)

yaml ruby-on-rails erb environment-variables ruby-on-rails-4

11
推荐指数
1
解决办法
2856
查看次数

在rails中下载动态生成的大文件

我有一个包含大量行的大型数据库,用户在数据库上生成查询,然后想要导出信息(当前正在执行CSV).问题是,随着我们的数据库不断增长,查询需要很长时间才能下载尝试超时.

如何在创建时随时设置Rails来下载文件?这些请求并不常见,所以我不介意对服务器的严厉打击,但它们确实需要是动态的(我不能提前生成文件).

我找到了很多关于如何在Rails中下载文件的网站,但它们要么处理已经创建的文件,要么处理那些没有时间创建的小文件.这些文件可能非常大(20MB +),因此需要"流式"下载,但我找不到某种方法.

ruby-on-rails ruby-on-rails-4

4
推荐指数
1
解决办法
1619
查看次数