自分のシステムの Ruby ファイルで構文エラーが発生しますが、他のシステムでは発生しません。
エラーは次のようなコードにあります。
1)redirect_to :back, alert: exception.message
構文エラーはalert
2)load_and_authorize_resource only: [ :update, :destroy ]
構文エラーはonly
3)render json: @reward.to_json
構文エラーはjson
そのように、エラーの数があります。
上記に次の変更を加えることで、これらのエラーを取り除きます。
1)redirect_to :back, :alert => exception.message
2)load_and_authorize_resource :only => [ :update, :destroy ]
3)render :json => @reward.to_json
ruby のバージョンによるエラーのようですが、何が原因なのかよくわかりません。
既存のすべてのプロジェクトでこのような変更をすべて行う必要があり、非常に苦痛です。
それは、プロジェクトが古い Ruby 構文を使用していることを意味しますか、それとも古い Ruby バージョンがインストールされていることを意味しますか?
私のルビーバージョンはruby 1.9.2p180
また、最新バージョンへのルビーのアップグレードがプロジェクト全体に影響を与えるよりもルビーのバージョンの問題がある場合、これを簡単に達成する方法は?
アップデート:
Ruby のバージョンがruby 1.9.2p180
次の理由によるものであることを確認しました。
D:\ruby_work>ruby -v
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
D:\ruby_work>pik list
187: ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32]
* 192: ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
上記のアスタリスク (*) は、現在使用しているバージョンを示しています。
正確なエラーは、たとえば次のとおりです redirect_to :back, :alert => exception.message
-
, unexpected ':'
アップデート:
今、私は -
D:\ruby_work>pik use 187
D:\ruby_work>pik list
* 187: ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32]
192: ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
D:\ruby_work>ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32]
エラーはまだあります。古いRubyバージョンに変更しても同じ構文エラーが表示されるため、本当にRubyエラーなのではないかと思います。唯一の違いは、 から に変更し:key
てkey =>
も同じエラーが表示されることです。