0

非常に複雑なブラック ボックスをだまして、いくつかのフロートを別の方法で表示しようとしています (これは 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 を置換できないのはなぜですか? 「これを達成するためのより良い方法は何ですか?」という質問への回答も受け付けます。

4

1 に答える 1