問題タブ [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.

0 投票する
0 に答える
62 参照

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 多いことを確認します。誰かが理由を知っていますか?

0 投票する
1 に答える
1819 参照

ruby-on-rails - << アソシエーションのときに counter_cache 列が増加しないのはなぜですか?

次のモデルがあるとします。

次の仕様を実行すると、counter_cacheが正しくインクリメントされません。メソッド#1#2動作は期待どおりですが、そうではありません#3。何を与える?

私はcounter_cache の半分が機能していることに本当に混乱しています。構成の問題も見つかりません。

このプロジェクトではRails 3.2.12を使用します。

アップデート

Rails 4へのアップグレードは役に立ちませんでした。また、方法 3 を次のように変更すると、テストに合格します。

これが自動的に行われないのはなぜですか?

0 投票する
2 に答える
80 参照

php - counterCache は競合状態の影響を受けますか?

ドキュメントがまったく明確にしていない counterCache について質問があります。フィールド値を更新するときに、counterCache は競合状態をチェックしますか?

たとえば、フォーラムの実装があり、フォーラムごとに、 counterCache を介してn 個のトピックが保存されているとします。次に、2 人のユーザーがほぼ同時にモデルを使用し (操作をオーバーラップするのに十分です。つまり、一方が終了しても、もう 1 人がまだそれを使用しているということです)、1 人が新しいトピックを作成し、もう 1 人が (できると仮定して) 新しいトピックを作成します。 ) 別のトピックを削除すると、 n+1またはn-1ではなく、正確にn 個のトピックが表示されますか?

0 投票する
1 に答える
121 参照

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

カウンター キャッシュの実装用に作成した移行を参照したい場合は、ここで見つけることができます。

0 投票する
1 に答える
65 参照

ruby-on-rails - Rails: これらのリクエストを counter_cache に変換する最良の方法

ページの読み込みごとに、これらのリクエストがいくつかあります。

サーバーの負荷を減らしたいので解決策に変えようとしていcounter_cacheます。私が数えようとしている複雑な関係のために、それを設計するのに少し助けが必要です. カウントを取得するクエリは次のとおりです。

counter_cache柱はどこに置けばいいですか?また、移行をどのように記述すればよいですか? Componentとを通じて関係にDocumentあります。has_manyPublications

0 投票する
1 に答える
251 参照

ruby-on-rails - Rails: rake db:migrate の失敗 `verify_readonly_attribute`

この移行は、最初の開発者マシンでは正常に機能しましたが、2 番目の開発環境では失敗しています。セットアップは、私たちが知る限り同じです。

移行:

このエラーは見たことがありません。何が起こっているか知っている人はいますか?

0 投票する
1 に答える
200 参照

caching - after_update コールバックで decrement_counter を使用すると 2 が減算されますか?

私は3つのモデルを持っています。雇用者、ユーザー、ジョブ。

Job モデルには、「current」という名前のブール列があります。雇用主のユーザー カウントは、「現在」とマークされたすべての関連ジョブをカウントすることによって得られます。

アクティブなレコードを使用するのではなく、独自のキャッシュ カウンターをロールすることにしました。

Job モデルで before フィルターを使用して、Employer モデルの users_count をインクリメントまたはデクリメントします。インクリメントは期待どおりに機能しますが、コードをどのように微調整しても...デクリメントはカウントを2の値で落とします.

これらのメソッドを少しクリーンアップできると確信しています...冗長性があるかもしれません。

1 デクリメントが 1 ではなく 2 を引くのはなぜですか?

2 アクティブ レコード キャッシュ カウンターは、このようなロジックを処理できますか?

0 投票する
1 に答える
137 参照

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 は正しくカウントされますが、インスタンスは更新されません。

設定が間違っていますか?なぜこれはこのように振る舞うのですか?

どうもありがとう!

0 投票する
1 に答える
758 参照

ruby-on-rails - Rails 4、印象派、および counter_cache

私は印象的なものにした Post モデルを持っています:

月に一度、一定期間より古いインプレッションを消去することを考えていました。これはどうにかして posts テーブルのカウンター キャッシュもリセットしますか? この場合、カウンターをリセットせずに制御不能になるまで、インプレッション テーブルがどんどん大きくなるのを避けるための解決策 (カウンター キャッシュのみをインクリメントしますか?) はありますか?

ありがとう