Ali*_*orm 1 ruby ruby-on-rails ruby-on-rails-4
即使Rails.application.config.trackable_models返回完整数组,也defined?(Rails.application.config.trackable_models)返回nil。
Rails.application.config.trackable_models # => ["NewsItem", "ContentPage", "Event"]
defined?(Rails.application.config.trackable_models): # => nil
Run Code Online (Sandbox Code Playgroud)
以相同的方式设置局部变量就可以了:
foo = ["x"]
defined?(foo) # => local-variable
Run Code Online (Sandbox Code Playgroud)
如果未“定义”,检查配置变量是否存在的正确方法是什么?
如果要检查按字面意义定义的方法,请使用 respond_to
Rails.applications.config.respond_to?(:trackable_models)
Run Code Online (Sandbox Code Playgroud)
如果要检查方法是否返回以外的值nil,则可以使用以下选项:
tm = Rails.applications.config.trackable_models
tm.nil?
tm.presence || 'default value'
tm.present?
tm.blank?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |