非常に複雑なブラック ボックスをだまして、いくつかのフロートを別の方法で表示しようとしています (これは Gruff グラフ ライブラリであるため、これは画像にレンダリングされています)。
コンソールでは、これを貼り付けることができます:
logger = RAILS_DEFAULT_LOGGER
logger.debug "Here's a float #{455.67.to_s}"
eval %{class Float
def to_s_with_time
h = (self / 60).to_i
m = self.to_i % 60
return h.to_s + ':' + m.to_s
end
alias_method_chain :to_s, :time
end
}
logger.debug "Here's another #{455.67.to_s}"
そして、私は見るでしょう
Here is a float 455.67
Here is another 7:35
しかし、同じコードをコントローラーに貼り付けると、
Here is a float 455.67
Here is another 455.67
コントローラ内で Float.to_s を置換できないのはなぜですか? 「これを達成するためのより良い方法は何ですか?」という質問への回答も受け付けます。