Ruby on rails 当用户登录Rails 4时给他打分

Ruby on rails 当用户登录Rails 4时给他打分,ruby-on-rails,ruby,ruby-on-rails-4,model-view-controller,controller,Ruby On Rails,Ruby,Ruby On Rails 4,Model View Controller,Controller,在我的应用程序中,如果user1喜欢user2中的图片,他单击“立即获取”按钮,user1中的点转到user2。user1分别被重定向到最终图片。 这是我在控制器中使用的 def downloadpage ActiveRecord::Base.transaction do if current_user.points >= @picure.pointsneeded current_user.points -= @picture.pointsneed

在我的应用程序中,如果user1喜欢user2中的图片,他单击“立即获取”按钮,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
before_filter :give_points_to_last_user

  def give_points_to_last_user
    @user = User.last
    @user.points = 7000
    @user.save
  end
问题:当我的用户首次登录我的网站时,如何给他们7000分

我试图把我的应用程序控制器

  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
before_filter :give_points_to_last_user

  def give_points_to_last_user
    @user = User.last
    @user.points = 7000
    @user.save
  end
它确实起作用了,但是上面的系统不起作用,用户点击“获取图片”按钮多少次,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
class UsersController
在用户控制器中-

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

试试上面的代码。

我添加了我的用户控制器,在我的问题中,你会建议我在哪里添加这个?进入创建方法?是的,在创建方法中,当用户创建时。这很奇怪,我的rails应用程序似乎不是从用户控制器创建用户,因为(作为实验),我临时删除了那里的所有内容,用户注册工作正常。你介意给我你的bitbucket用户名吗,我会发送邀请,如果你能看一看,我应该在哪里添加你上面提到的行。还没有收到,我们可以通过skype交谈,我的用户名是“amitkumarsuroliya”。让我们一起来。