签到给用户积分Rails 4

Give user points when he sign in Rails 4

在我的应用程序中,如果 user1 喜欢来自 user2 的图片,他会点击 "get it now" 按钮,然后来自 user1 转到 user2。而 user1 分别被重定向到最终图片。 这就是我在我的控制器中使用的

  def downloadpage
    ActiveRecord::Base.transaction do
      if current_user.points >= @picure.pointsneeded 
        current_user.points -= @picture.pointsneeded
        @picture.user.points += @picture.pointsneeded
        current_user.save
        @picture.user.save
        redirect_to @picture.boxlink
      else
        redirect_to :back, notice: "You don't have enough points"
      end
    end
  end

Question: how to give my user 7000 points when they sign up into my website,for the first time?

我试图放入我的应用程序控制器

before_filter :give_points_to_last_user

  def give_points_to_last_user
    @user = User.last
    @user.points = 7000
    @user.save
  end

确实有效,但是上面的系统没有用,用户点击了多少次"get this picture button",7000点保持不变,没有像预期的那样减少,它只是停留7000,随便我

我现在的用户控制器

class UsersController < ApplicationController
  def new
  end

  def create
    @user = User.create(user_params)
  end 

  def show
    @user = User.find(params[:id])
  end

  def destroy
    @user.destroy
  end

  private

  # Use strong_parameters for attribute whitelisting
  # Be sure to update your create() and update() controller methods.

  def user_params
    params.require(:user).permit(:avatar, :points)
  end
end

在用户控制器中 -

def create
  @user = User.create(user_params)
  @user.update(points: 7000)
end

试试上面的代码。