创建操作后,Merit 不会为用户添加积分

Merit doesn't add points to user after create action

我使用此说明在用户创建 "solucion"(这是微博的一种 "answer")时简单地添加分数。我已将 has_merit 行添加到 user.rb(用户模型)。

我想在展示视图中显示该操作获得的用户积分。 show.html.erb(解决方案):

<h2><span class="red"><%= current_user.points %></span><br>Points</br></h2>

显示0分...

point_rules.rb:

module Merit
  class PointRules
   include Merit::PointRulesMethods

   def initialize
    score 5, on: 'solucions#create'
   end
  end
end

当我使用 current_user 创建解决方案时(已经将 user_id 索引和标识符保存到解决方案中),这就是我的 rails 服务器输出显示...

将link指向github要点:

https://gist.github.com/roadev/7b34fd67ab93c979fa48

嵌入:

<script src="https://gist.github.com/roadev/7b34fd67ab93c979fa48.js"></script>

编辑:

solucions_micropost.rb

  class SolucionsController < ApplicationController
  before_action :set_solucion, only: [:show, :edit, :update, :destroy]

  def index
    @solucions = Solucion.all
  end
  def show
  end
  def new
    @solucion = current_user.solucions.build
  end
  def edit
  end
  def create
    @solucion = current_user.solucions.build(solucion_params)

    respond_to do |format|
      if @solucion.save
        format.html { redirect_to @solucion, notice: 'Solucion was successfully created.' }
        format.json { render action: 'show', status: :created, location: @solucion }
      else
        format.html { render action: 'new' }
        format.json { render json: @solucion.errors, status: :unprocessable_entity }
      end
    end
  end
  def update
    respond_to do |format|
      if @solucion.update(solucion_params)
        format.html { redirect_to @solucion, notice: 'Solucion was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: 'edit' }
        format.json { render json: @solucion.errors, status: :unprocessable_entity }
      end
    end
  end
  def destroy
    @solucion.destroy
    respond_to do |format|
      format.html { redirect_to solucions_url }
      format.json { head :no_content }
    end
  end

  private
    def set_solucion
      @solucion = Solucion.find(params[:id])
    end
    def current_micropost
      @solucion = microposts.find_by(id: params[:id])
    end
    def solucion_params
      params.require(:solucion).permit(:solucion, :image, :micropost_id)
    end
end

user.rb:

class User < ActiveRecord::Base
  has_many :dreams
  has_many :microposts
  has_many :solucions

  has_merit
end

我在安装 merit gem 时遇到迁移问题 gem。