user
ユーザーが「バッジ」を獲得したかどうかを確認する方法があるモデルがあります
def check_if_badges_earned(user)
if user.recipes.count > 10
award_badge(1)
end
ユーザーがバッジを獲得した場合、award_badge
メソッドが実行され、関連付けられたバッジがユーザーに付与されます。このようなことはできますか?
def check_if_badges_earned(user)
if user.recipes.count > 10
flash.now[:notice] = "you got a badge!"
award_badge(1)
end
ボーナス質問! (ラメ、私は知っている)
ユーザーがバッジを獲得できるこれらの「条件」をすべて保持するのに最適な場所はどこでしょうか。つまり、アーキテクチャに関しては、私はすでにbadge
とbadgings
モデルを持っています。
獲得条件を整理するにはどうすればよいですか?それらのいくつかは、ユーザーが一度もコメントせずに 100 回ログインしたなど、さまざまな複雑なものです。などなど、ほとんどすべてのモデルにまたがっているため、この種のロジックを配置する簡単な場所はないようです。