0

require "digest/sha1"モデルの上にパスワードハッシュを含めると、アプリに変更を加えるたびに、サーバーを再起動して変更を確認する必要があることに気付きました。

特に私のような初心者にとっては、これは面倒なことであり、開発を大幅に遅らせています。

どこかでrequire_dependency "digest/sha1"動作するはずですが、動作していません( no file error と言っています)。

例が見つからないので、どこに置くべきかさえrequire_dependencyわかりません。

これは非常に一般的な問題であるため、機能させる方法がいくつかあるはずです。おそらく、間違った場所を探していたのかもしれません。

ありがとう

編集 :

Ubuntu マシンがスリープ状態になるとエラーが発生するという結論に達しました。ウェイクアップ後、ローカルサーバー(シンとWEBrickを試した)でそのエラーが発生します。

編集 :

Ubuntuのスリープとは関係ありません。hash引数の数が間違っていると不平を言って、毎回エラーを出すという名前の関数がありましたが、その関数は呼び出されませんでした。

だから、私はそれをに名前を変更しましたがencrypt、今は動作していますが、それが解決策であると100%確信しているわけではありません.もっとテストする必要があります.

よろしければ、それは奇妙なバグです。回答を投稿します。

4

2 に答える 2

0

開発モードでは、デフォルトで、app/または内のすべてconfig/routes.rbがリクエスト間でリロードされます。これが発生していない場合は、require が原因ではない可能性があります。うっかりリロードをオフにしてしまった可能性が高いです。

私はこれまでdigest/sha1多くのプロジェクトで使用してきましたが、この問題が発生したことは一度もありません。通常、使用される User モデルに含まれています。

この問題を新しい Rails プロジェクトで再現できますか? その行を削除すると問題は解決しますか? もしそうなら、それは非常に奇妙です。

于 2012-04-17T18:49:53.877 に答える
0

require "digest/sha1"すべて削除すると正常に動作しますか?
とにかくチェック config.cache_classes = falseインconfig/environments/development.rb

于 2012-04-19T23:32:26.827 に答える