签到给用户积分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
试试上面的代码。
在我的应用程序中,如果 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
试试上面的代码。