相关疑难解决方法(0)

Ruby on Rails 遗留应用程序更新生成 Gem Psych Alias 错误 Psych::BadAlias

目标:按照 RailsGuides 的建议逐步升级遗留应用程序:升级 Ruby on Rails(从 ruby​​ 2.3.1 和rails 4.2.2)

预期结果:rake assets:precompile成功完成,没有 gem psych 别名错误:Psych::BadAlias

需要帮助:有人可以告诉我如何实施推荐的解决方案:Psych::AliasesNotEnabled: Alias parsing was not enabled. To enable it, pass `aliases: true` to `Psych::load` or `Psych::safe_load` 。(a) 代码是什么,(b) 它属于哪个文件。完整详细信息如下。

实际结果:

我正在从 ruby​​ 2.3.1 和 Rails 4.2.2 更新应用程序:我逐步完成了主要的 ruby​​ 修订版,即 2.4、2.5、2.6,目前正在运行 2.7.0 我将 Rails 更新为,然后出现了~> 5.0psych gem 的问题:

问题:运行:rake assets:precompile导致:rake aborted! / Psych::BadAlias: Cannot load database configuration / Unknown alias: default / Caused by: Psych::BadAlias: Unknown alias: …

ruby rubygems ruby-on-rails

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

rails4 - Psych :: BadAlias:未知别名:test

尝试使用Capistrano cap deploy部署我的项目:迁移,我在我的database.yml上的测试别名中出错(这在本地服务器上运行正常)

development:
   database: db_dev
   adapter: mysql2
   username: xxxxxx
   password: xxxxxx
   host: localhost
   encoding: utf8

test: &test
   database: db_test
   adapter: mysql2
   username: xxxxxx
   password: xxxxxx
   host: localhost
   encoding: utf8

production:
   database: db_prod
   adapter: mysql2
   username: xxxxxxxx
   password: xxxxxxx
   host: localhost
   encoding: utf8

cucumber:
   <<: *test
Run Code Online (Sandbox Code Playgroud)

控制台日志是:

           rake aborted!
   Psych::BadAlias: Unknown alias: test
   /railties-4.0.3/lib/rails/application/configuration.rb:106:in `database_configuration'
   /activerecord-4.0.3/lib/active_record/railtie.rb:175:in `block (2 levels) in <class:Railtie>'
   /activesupport-4.0.3/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
   /activesupport-4.0.3/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
   /activesupport-4.0.3/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
   /activesupport-4.0.3/lib/active_support/lazy_load_hooks.rb:27:in `each'
   /activesupport-4.0.3/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
   /activerecord-4.0.3/lib/active_record/railtie.rb:174:in `block in <class:Railtie>'
   /railties-4.0.3/lib/rails/initializable.rb:30:in `instance_exec'
   /railties-4.0.3/lib/rails/initializable.rb:30:in …
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails

8
推荐指数
2
解决办法
7510
查看次数

gem server:如何更新缺少rdoc的gem?

我非常喜欢gem server使用本地RubyGems文档索引来引导webserver的命令.

我唯一的问题是:有些宝石没有rdoc文件.

我怎样才能添加缺失的rdoc(所有宝石都是主流宝石,而不是我自己的宝石)?


通过Bundler安装; Rails 2.3.5

documentation gem ruby-on-rails

5
推荐指数
1
解决办法
900
查看次数

在 Psych 4 中使用 YAML/Store 加载不安全的 YAML

Ruby 的 YAML 库 (Psych 4) 的最新更改会导致“不安全”YAML 在包含别名或尝试实例化未指定的类时失败。这在多个地方都有讨论,例如StackOverflow 问题

我试图弄清楚如何告诉衍生yaml/store库允许加载不安全的 YAML,或者向它提供允许的类列表。

据我所知,该文档很少,阅读后,这是我能想到的唯一合乎逻辑的尝试:

require 'date'
require 'yaml/store'

# 1. These options work perfectly with YAML.load_file, but not with YAML::Store
# 2. These options are not needed in Psych < 4.0
yaml_opts = { aliases: true, permitted_classes: [Time, Date, Symbol] }

store = YAML::Store.new 'log.yml', yaml_opts
data = store.transaction { store[:entries] }
p data
Run Code Online (Sandbox Code Playgroud)

使用此 YAML 文件:

# log.yml
:entries:
- :timestamp: 2018-07-09 00:00:00.000000000 +03:00
  :action: Comment
  :comment: …
Run Code Online (Sandbox Code Playgroud)

ruby yaml

3
推荐指数
1
解决办法
3393
查看次数

标签 统计

ruby-on-rails ×3

ruby ×2

capistrano ×1

documentation ×1

gem ×1

rubygems ×1

yaml ×1