current_user が存在しない場合でも、このコードを使用してビューに値を設定します。より良い方法を知っている場合は、代わりの bc 多くの方法を提案します。それ以外の場合は例外を発生させます。
def setval_if(valgood, valbad=nil)
begin
return valgood if yield
rescue
else
end
end
setval_if("no exception raised") { true }
# => "no exception raised" # my machine, correct.
# => nil # Heroku
しかし、この汚いハックを追加すると、herokuでも機能します
def setval_if(valgood, valbad=nil)
begin
return valgood if yield
puts "suca vaff.."
rescue
else
end
end
setval_if("no exception raised") { true }
# => "no exception raised" # my machine, correct.
# => "no exception raised" # Heroku
なぜなぜなぜ???? :D