为什么我的服务没有更改我的实例变量?

时间:2016-07-17 00:36:05

标签: ruby-on-rails class methods null instance-variables

我的服务应该与当前用户匹配。我有一个方法在我的服务中应该找到这个对手,但它没有保存在我的控制器中。我意识到这是一个非常基本的问题,但我对rails很新,谢谢!

这是我的服务:

class MatchUser
  attr_accessor :user_params

  def initialize(user_params)
    @user_params = user_params
  end


  def match(opponent)
    return false if user_params[:matched] == true
    @unmatched_users = User.where(matched: false)
    @unique_unmatched_users = @unmatched_users.where.not(id: user_params[:id])
    @same_league_unmatched_users = @unique_unmatched_users.where(league_id:
    user_params[:league_id])
    return false if @same_league_unmatched_users.empty?
    opponent = @same_league_unmatched_users.sample
    opponent.faceoff_date = Time.now
    user_params[:faceoff_date] = Time.now

    opponent.save!
  end
end

当我尝试分配@matched_user_team时,我的控制器中出现错误,因为@matched_user是nil

    @user = current_user
    @matching = MatchUser.new(@user)
    if @matching.match(@matched_user) 
      @matched_user_team = @matched_user.teams.last.chars
    end

0 个答案:

没有答案