Ruby on Railsを動かすと表示される謎のwarning: circular argument referenceを消す方法
Author:
費用:0円 時間:10分
Ruby on Rails使って、
rails s
と入力してサーバーを起動させます。
そして、localhostに接続できた・・・
しかし、コマンドプロンプトには謎の一行が・・・
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.2/lib/active_support/values/time_zone.rb:282: warning: circular argument reference - now
所詮Warningだから、動作になんの問題もない。
しかし、この一文があるとなんか居心地が悪い。
ということで、この一文を消す方法をご紹介いたします。
sponsored link
time_zone.rbを編集する
まず、コマンドプロンプトにも書かれていたようにtime_zone.rbを開きましょう。
俺の場合は、C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/activesupport-4.0.2/lib/active_support/values/ のディレクトリにありました。
Rubyのバージョンによっても場所が違うと思うのでコマンドプロンプトに従って下さい。
さて、time_zone.rbを開く方法ですが、テキストエディタなら何でもいいですが、行数を表示に設定しておきましょう。
俺の場合は安定のAtomです。
そして、コマンドプロンプトに表示されていたように282行目にスクロールして以下の部分を探してください。
以下の行です。
def parse(str, now=now)
この一行を以下のように書き換えてください。
def parse(str, now=now())
変わったのはnowの後に()を付けただけ。これでおkです。
もう、Railsを起動してもWarningが表示されることはありません!
気になるならお試しください。