2

私はRails 3.1を使用しており、1年半開発しています。今朝、私は何かをしたに違いありません。多くのファイルがキャッシュされているようです。これには、ビュー ファイル、コントローラー、およびモデルが含まれます。

モデル、コントローラーなどを変更できますが、アプリ (localhost:3000 で実行) には影響しません。ポートを (たとえば localhost:3005 に) 切り替えようとしましたが、うまくいきませんでした。

構成ファイルを変更したり、コンピューター (Mac、Lion) に大きな変更を加えたりしていませんが、明らかに何かを行ったに違いありません。

  • 私は開発モードで作業しています
  • MacでTextMateを使用しています
  • 404ページなどを除いて、パブリックフォルダーは空です
  • /caches/assets-folder を削除しました
  • ブラウザのキャッシュを削除しました

サーバーを再起動すると、常に機能します。場合によっては (非常にまれですが)、再起動せずに変更が反映されることがあります。

これは私のdevelopment.rbです:

  # Settings specified here will take precedence over those in config/application.rb

  # In the development environment your application's code is reloaded on
  # every request. This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Raise exception on mass assignment protection for Active Record models
  config.active_record.mass_assignment_sanitizer = :strict

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
  config.active_record.auto_explain_threshold_in_seconds = 0.5

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true

何が起こった可能性があり、どのように解決またはトラブルシューティングすればよいですか?

4

2 に答える 2

2

あなたはおそらくあなたが見ていると思うものを見ていません。最も一般的な理由:アプリの実行時に表示しているフォルダーではなく、プロジェクトのコピーで作業している。

または、development.rbを台無しにしました(config.cache_classes = false)。

キャッシュのヒント:このページには、すべてのキャッシュ手法があります。ページキャッシュに関するものを見てください(Rubyスタックを介してさえ実行されません)。

http://guides.rubyonrails.org/caching_with_rails.html

その他のヒント:プロジェクト全体を新しいフォルダーにコピーして、OSによるフォルダーの魔法が干渉しないようにします。

開発ログは、何が起こっているかについてのヒントを明らかにしていませんか?特に、主要なモデルの1つに違法なコードを入れた場合(実際にはクラッシュするはずです)...

于 2012-08-13T10:16:06.337 に答える
2

私はすでに同じ問題を抱えていました。

私の development.rb ファイルに次の行を追加した後、私の問題は解決されました:

config.reload_classes_only_on_change = false

キャッシュに関するこの問題が発生する理由がわかりません。この問題が発生した 2 週間の間、すべてがうまく機能していました。

私はTextmateを使っています、多分...

于 2013-12-04T16:29:20.417 に答える