创建操作后,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。
我使用此说明在用户创建 "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。