問題タブ [merit-gem]

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 投票する
1 に答える
126 参照

ruby-on-rails - ruby on rails メリット gem設定レベル

ユーザーレベルを変更する方法はありますか?

user.set_rank(:レベル => 4) ?

ユーザー レベルを変更する必要がありますが、ランク ルールを再定義し、ここで提案されていることを実行します メリット ジェムは評判を再計算し、バッジとランクを再評価できますか? 動作しません。

何か案は?

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

ruby-on-rails - 一時的なバッジを確認して削除する Merit gem cron ジョブ

このようなバッジ ルールがあります。

コメントを送信すると、ユーザーはバッジを失います。ただし、コメントを送信しない場合、バッジは永久に保持されます。

一時的なバッジを確認して、有効でなくなったバッジを削除することはできますか?

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

ruby-on-rails - delayed_job と tute/merit を使用してバッジの割り当てを遅らせる

Merit gem を使用してバッジをユーザーに割り当てています。

私の Badge_rules.rb ファイルには次のものがあります。

と同じことを行うメソッド 'model_method' を User モデルに作成したhelper_methodので、これを問題なく実行できます。

helper_methodこのプロセスはかなり重いため、delayed_job を使用してバックグラウンドで実行する方法があるかどうかを知りたいです。バックグラウンドで model_method を実行する次のことを既に試しましたが、バッジを授与しません:

と:

条件が満たされているかどうかをチェックするメリットジェムのコードはgrant_on block&遅延していないため、この問題にどのようにアプローチするかはよくわかりません。前もって感謝します。

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

ruby-on-rails - メリットジェムを使用したバッジイベントの観察

あまりにも明白/簡単に見えるメリット ジェムに問題がありますが、それを理解するのに苦労しました。

サンプルのオブザーバブル クラスを使用していますが、ポイントに対しては正常に機能します。ポイントが変更されるたびに、登録されたオブザーバーは更新を受け取ります。ただし、バッジの場合、そのような更新は行われません。

ユーザーにバッジを割り当てる方法が理由かもしれませんが、理由はわかりません。再びwiki の例add_badgeを使用して、ユーザーの合計ポイントを調べ、メソッドを使用してそのユーザーに適したバッジを作成しています。これはうまくいきます。つまり、ポイントが期待どおりに集計され、バッジが期待どおりに作成され、ユーザーのポイントとバッジが正しいということです。

問題は、オブザーバブル クラスがこれらのバッジ割り当ての更新/イベントを受信しないことです。add_badgeそれぞれが通知を生成する ことを期待していました。

バッジの追加が見られない理由は何ですか?

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

ruby-on-rails - Rails を使用した Leaderboard API バックエンド

リーダーボードの概念に基づいて (モバイル アプリ用の) API バックエンドを設計しようとしています。

要件の一部:

  • 特定のルールの検証後にポイントを割り当てることにのみ関心があります
  • バックエンドはマルチアプリである必要があります: app1 にはいくつかのルールが必要で、app2 には別の一連のルールを設定できます
  • バックエンドはモバイルアプリでユーザーが行ったアクションを受け取り、それらのアクションが有効かどうかを検証してポイントを割り当てる必要があります
  • ルールは次のようになります。

24 時間以内にアクション A を初めて見たユーザーに 10 ポイントを与える

アクション B が発生した場合はユーザーに 10 ポイントを与えますが、アクション B が 1 週間に 10 回以上表示された場合はポイントを与えません。

  • モバイルアプリに報告できるように、以前のアクションのログが必要です

  • ポイント、リーダーボードのスコア、およびレポートを計算します (特定の時間枠で)

私はメリットを調べましたが、モデルが複数のポイントルールファイルを持つことができるかどうか (例: userA は appA に属しているため、rulesB は彼には適用されません) と、すべてのアクションまたは現在のスコアの証跡があるかどうかがわかりませんでした。

簡単に言えば、そのすべてをサポートする価値はありますか? そうでない場合、何を提案しますか?

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

ruby-on-rails - メリット Ruby gemが条件文で機能しない

メリット ruby​​ gem は、「user.passion.present」を追加してユーザーにポイントを付与していません。それがなくても機能します。Devise と Merit の gem を使ってすべてをセットアップしました。これ以外はすべて動作するようです。

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

ruby-on-rails - 「merit_actions」が指定されずにこのクエリに表示されるのはなぜですか?

プロダクション Rails 4.2 アプリでは、Events#show ページが呼び出されるたびに次のログ エラーが表示されます。

PG::UndefinedTable: ERROR: missing FROM-clause entry for table "actions" SELECT "merit_actions".* FROM "merit_actions" WHERE (actions.trackable_type = 'Comment' AND actions.trackable_id in (NULL))

なぜ/どのようにこのクエリが作成されているのかを理解し、問題をデバッグするのに問題があります。

このクエリは、このRailscastに大まかに基づいて、アクティビティ フィードを構築する必要があります。Event モデルには、多態的な Actionable 関連付けがあり、これを介して多くのコメントと写真が関連付けられます。

イベントモデルには次のメソッドがあります

ご覧のとおり、アクション モデルが参照さmerit_actionsれていますが、クエリで問題を引き起こしている参照はありません。

Merit gemをインストールしました

ただし、Event モデルではありません。

このクエリが を参照merit_actionsしている理由と、これをデバッグするにはどうすればよいですか? それは私には意味がありません。

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

ruby-on-rails - Ruby on Rails - Merit Gem grant_on がトリガーされない

そのため、メリット ジェムをインストールし、それを使用してアプリケーション内にバッジを実装しています。config/initializers/merit.rbファイル内のバッジを次のように定義します。

このバッジは、ユーザーが作成されたときにユーザーに与えられます。ユーザーはメソッドuser_controller.rb内で作成されます。create

何らかの理由で、新しいユーザーが作成されたときに、バッジが報われません。入力するMerit::Badge.find(1)と、バッジが実際に定義されていることがわかります。ただし、User.first.badgesコンソールに入力すると、空の配列が返されます。ユーザーがサインアップしたときにバッジが報われないのはなぜですか? この問題の解決に役立つ追加情報が必要な場合はお知らせください。

詳細情報を提供するために編集

Merit::Badge.find(1).inspectコンソール内で実行すると、次のようになります。

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

ruby-on-rails - メリットレール4が更新アクションで機能しない

Rails 4 アプリで Merit gem を起動して実行しました。

これまでのところ、サブ記事を作成すると、ユーザーは最初のバッジを受け取ります。

私が授与しようとしている 2 番目のバッジは、そのサブ記事が実際に承認されたときです。これは管理者だけが行うことができます。アクションとして使用subarticle#updateしてみましたが、ユーザーにバッジが付与されません。おそらく、管理者が管理パネル (rails admin gem) からサブ記事を更新することに関係しているのでしょうか?

これがイニシャライザのバッジです。

ルールは次のとおりです。

助言がありますか?この宝石はまだ新しいので、単純な間違いかもしれません。