問題タブ [counter-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails counter_cache は空を使用する Ajax 呼び出しを台無しにしますか?
ユーザーが配信を確認できるページがあります (通知など)。そのページでは、X をクリックして単一の配信を削除できました。これは、次のコントローラー アクションにリンクされていました。
deliveryies_controller.rb
これにより、AJAX 経由で呼び出される次の js ファイルが呼び出されます。
destroy.js.erb
配送ラインが current_user.deliveries.empty だったのはいつですか? カウンターキャッシュはありませんでしたが、これはうまく機能します。最後の配信が削除された場合、空のメッセージが表示されます。しかし、カウンター キャッシュを追加すると (空の? 呼び出しを繰り返し、データベース ヒットを回避したかったため)、このコードは機能しなくなりました。私は空にしてみましたか?deliveryies_count、deliveries.size、その他いくつかのものがあります。
このコードを変更する必要さえありませんが、deliveries counter_cache を追加すると失敗します。JS ファイルは、配信数が本来よりも 1 多いことを確認します。誰かが理由を知っていますか?
ruby-on-rails - << アソシエーションのときに counter_cache 列が増加しないのはなぜですか?
次のモデルがあるとします。
次の仕様を実行すると、counter_cache
が正しくインクリメントされません。メソッド#1
と#2
動作は期待どおりですが、そうではありません#3
。何を与える?
私はcounter_cache の半分が機能していることに本当に混乱しています。構成の問題も見つかりません。
このプロジェクトではRails 3.2.12を使用します。
アップデート
Rails 4へのアップグレードは役に立ちませんでした。また、方法 3 を次のように変更すると、テストに合格します。
これが自動的に行われないのはなぜですか?
php - counterCache は競合状態の影響を受けますか?
ドキュメントがまったく明確にしていない counterCache について質問があります。フィールド値を更新するときに、counterCache は競合状態をチェックしますか?
たとえば、フォーラムの実装があり、フォーラムごとに、 counterCache を介してn 個のトピックが保存されているとします。次に、2 人のユーザーがほぼ同時にモデルを使用し (操作をオーバーラップするのに十分です。つまり、一方が終了しても、もう 1 人がまだそれを使用しているということです)、1 人が新しいトピックを作成し、もう 1 人が (できると仮定して) 新しいトピックを作成します。 ) 別のトピックを削除すると、 n+1またはn-1ではなく、正確にn 個のトピックが表示されますか?
ruby-on-rails-3 - カウンター キャッシュが更新されない - 理由がわからない
私はgithubにストアアプリケーションを持っています。1. Divisions モデルと 2. Products モデルの 2 つのモデルに counter_cache を実装しようとしています。何らかの理由で、新しい部門を作成するたびに Company モデルのカウンター キャッシュ (divisions_count) が自動的にインクリメントされず、同様に、新しい製品を追加したときに Divisions モデルの products_count がインクリメントされないかどうかわかりません。部門に。
私はレール3.2.11とルビー1.9.3-p327を使用しています
私のアプリケーションは POC レベルのみです。
PFB 会社、部門、製品に関するモデル構造:-
company.rb
部門.rb
product.rb
カウンター キャッシュの実装用に作成した移行を参照したい場合は、ここで見つけることができます。
ruby-on-rails - Rails: これらのリクエストを counter_cache に変換する最良の方法
ページの読み込みごとに、これらのリクエストがいくつかあります。
サーバーの負荷を減らしたいので解決策に変えようとしていcounter_cache
ます。私が数えようとしている複雑な関係のために、それを設計するのに少し助けが必要です. カウントを取得するクエリは次のとおりです。
counter_cache
柱はどこに置けばいいですか?また、移行をどのように記述すればよいですか? Component
とを通じて関係にDocument
あります。has_many
Publications
ruby-on-rails - Rails: rake db:migrate の失敗 `verify_readonly_attribute`
この移行は、最初の開発者マシンでは正常に機能しましたが、2 番目の開発環境では失敗しています。セットアップは、私たちが知る限り同じです。
移行:
このエラーは見たことがありません。何が起こっているか知っている人はいますか?
caching - after_update コールバックで decrement_counter を使用すると 2 が減算されますか?
私は3つのモデルを持っています。雇用者、ユーザー、ジョブ。
Job モデルには、「current」という名前のブール列があります。雇用主のユーザー カウントは、「現在」とマークされたすべての関連ジョブをカウントすることによって得られます。
アクティブなレコードを使用するのではなく、独自のキャッシュ カウンターをロールすることにしました。
Job モデルで before フィルターを使用して、Employer モデルの users_count をインクリメントまたはデクリメントします。インクリメントは期待どおりに機能しますが、コードをどのように微調整しても...デクリメントはカウントを2の値で落とします.
これらのメソッドを少しクリーンアップできると確信しています...冗長性があるかもしれません。
1 デクリメントが 1 ではなく 2 を引くのはなぜですか?
2 アクティブ レコード キャッシュ カウンターは、このようなロジックを処理できますか?
activerecord - ActiveRecord counter_cache は db をインクリメントしますが、インスタンスはインクリメントしません
2 つの単純なクラスがCompany
ありVotings
、rspec でテストします。
会社に投票を追加すると、アクティブレコードによってカウントされます
そしてこの投票クラス:
そしてこの単純なrspec
列は nil ではありません。デフォルト = 0
ryans counter_cache キャストの例に従いました -> http://railscasts.com/episodes/23-counter-cache-column?view=asciicast
DB は正しくカウントされますが、インスタンスは更新されません。
設定が間違っていますか?なぜこれはこのように振る舞うのですか?
どうもありがとう!
ruby-on-rails - Rails 4、印象派、および counter_cache
私は印象的なものにした Post モデルを持っています:
月に一度、一定期間より古いインプレッションを消去することを考えていました。これはどうにかして posts テーブルのカウンター キャッシュもリセットしますか? この場合、カウンターをリセットせずに制御不能になるまで、インプレッション テーブルがどんどん大きくなるのを避けるための解決策 (カウンター キャッシュのみをインクリメントしますか?) はありますか?
ありがとう