创建操作后,Merit不会向用户添加点数

时间:2015-08-01 05:11:48

标签: ruby-on-rails ruby ruby-on-rails-4 merit-gem

当用户创建“解决方案”(这是对微博的一种“回答”)时,我已经使用此说明简单地添加分数。我已将has_merit行添加到user.rb(用户模型)。

我想在展会视图中显示为该操作获得的用户点数。 show.html.erb(for solucion):

<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服务器输出显示的内容......

直接链接到github gist:

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

1 个答案:

答案 0 :(得分:0)

安装优点宝石时,我遇到了迁移问题。