0

どうすればこのようなものを作ることができますか?

1.9.3p286 :006 > defined? activated_flag
 => nil 
1.9.3p286 :007 > puts (activated_flat ? "activated!" : "no activated")

here を見たいのですno activatedが、代わりに次のものがあります。

NameError: undefined local variable or method `activated_flat' for main:Object
  from (irb):7
  from /Users/fguillen/.rvm/rubies/ruby-1.9.3-p286/bin/irb:16:in `<main>'
4

2 に答える 2

2

使用しない理由defined?:

puts (defined?(activated_flat) ? "activated!" : "no activated")
#=> no activated
于 2012-11-28T16:57:00.150 に答える
0

私が見つけた最も簡単な方法は、次のようなフォールバック初期化を追加することです。

activated_flag ||= false

しかし、この変数をerbパーシャルで使用しているため、このフォールバックの初期化は見苦しく見えます。

于 2012-11-28T16:57:15.763 に答える