在没有 :safe 选项的情况下调用“load”——默认为安全模式

Rpj*_*Rpj 2 ruby-on-rails thin

当我启动 rails.js 时,如何摆脱这个警告/错误。

在没有 :safe 选项的情况下调用“load”——默认为安全模式。

=> Booting Thin
=> Rails 3.2.13 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Called 'load' without the :safe option -- defaulting to safe mode.
>> Thin web server (v1.5.1 codename Straight Razor)
>> Maximum connections set to  1024 
>> Listening on 0.0.0.0:3001, CTRL+C to stop 
Run Code Online (Sandbox Code Playgroud)

cba*_*com 5

该消息来自safe_yaml宝石当一些代码调用YAML.load方法不被配置的safe_yaml宝石。

有几种方法可以消除警告。

  1. 配置 safe_yaml 以抑制警告:

    SafeYAML::OPTIONS[:suppress_warnings] = true
    
    Run Code Online (Sandbox Code Playgroud)
  2. 明确配置 safe_yaml 的默认模式:

    SafeYAML::OPTIONS[:default_mode] = :safe
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果您是调用 YAML.load 的人,请在调用 YAML.load 或调用 YAML.safe_load/YAML.unsafe_load 时显式传递 :safe 选项:

    YAML.load(yaml, :safe => true)
    YAML.load(yaml, :safe => false)
    YAML.safe_load(yaml)
    YAML.unsafe_load(yaml)
    
    Run Code Online (Sandbox Code Playgroud)