相关疑难解决方法(0)

如何从同一个YAML文件中的其他地方引用YAML"设置"?

我有以下YAML:

paths:
  patha: /path/to/root/a
  pathb: /path/to/root/b
  pathc: /path/to/root/c
Run Code Online (Sandbox Code Playgroud)

如何通过/path/to/root/从三个路径中删除并将其作为自己的设置来"规范化" ,例如:

paths:
  root: /path/to/root/
  patha: *root* + a
  pathb: *root* + b
  pathc: *root* + c
Run Code Online (Sandbox Code Playgroud)

显然这是无效的,我只是弥补了.什么是真正的语法?可以吗?

syntax yaml transclusion

118
推荐指数
6
解决办法
8万
查看次数

在标准"生产"或"开发"之外的不同数据库上使用Rails迁移

我有一个运行的rails项目,它定义了标准生产:,:开发和:在config/database.yml中测试数据库连接

另外我有一个quiz_development:和quiz_production:定义指向不同的主机/ db/user/password

我现在的目标是定义一个使用" quiz_#{RAILS_ENV}`"作为其数据库配置的迁移.

我尝试过(并且失败了):

  • 在迁移文件中设置ActiveRecord :: Base.connection
  • 在rails中更改db:migrate任务以在那里设置ActiveRecord :: Base.connection

题:

如何使rake db:migrate使用其他数据库定义?

谢谢,弗兰克

ruby database migration ruby-on-rails

48
推荐指数
10
解决办法
3万
查看次数

部署到Heroku(表不存在错误)

我正在构建一个示例预注册页面,人们可以在应用程序启动之前注册他们的电子邮件.当我输入时:

heroku open
Run Code Online (Sandbox Code Playgroud)

我的浏览器出现以下错误

We're sorry, but something went wrong.

If you are the application owner check the logs for more information.
Run Code Online (Sandbox Code Playgroud)

检查我的日志后,我发现了这个奇怪的错误:

[36m2014-04-28T08:22:01.921791+00:00 app[web.1]:?[0m PG::UndefinedTable: ERROR:
 relation "premails" does not exist
Run Code Online (Sandbox Code Playgroud)

那是什么意思?我有以下迁移:

class CreatePremails < ActiveRecord::Migration
  def change
    create_table :premails do |t|

        t.text :email

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

和型号:

class Premail < ActiveRecord::Base

end
Run Code Online (Sandbox Code Playgroud)

如何在Heroku上部署它需要做什么?我不确定这是不是问题,或者我是否需要更改我的database.yml文件.目前我在那里有这个:

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development: …
Run Code Online (Sandbox Code Playgroud)

database ruby-on-rails heroku ruby-on-rails-4

2
推荐指数
1
解决办法
1767
查看次数