rails上的ruby保留了变量的相同值

时间:2012-01-30 10:35:07

标签: ruby-on-rails ruby

我有以下代码:

def create
    @user = User.new(params[:user])
    simp_ = User.new(params[:user])
    if @user.gender.blank?
       load './bayes.rb'
       b_obj= Bayes.new
       simp_.gender = b_obj.predict(@user.height, @user.weight)
       predict_(simp_)
    else
      if @user.save
        redirect_to @user
      else
        @title = "Train"
        render 'new'
      end
    end
  end
 ...

  def predict_(_user)
    @user = _user
    render 'predicted' ( I am printing @user.gender here)
  end

一切正常,我也可以使用用户定义的类别。问题是存储在'simp_.gender'中的值总是保持不变,无论我的函数返回什么。这导致了很多问题。

我该如何处理?

阿伦

1 个答案:

答案 0 :(得分:0)

首先仔细检查b_obj.predict返回的值:

gender = b_obj.predict(@user.height, @user.weight)
logger.info "GENDER: #{gender}"
simp_.gender = gender

试一试,然后查看日志。如果您仍需要帮助,请编辑您的问题并添加有关写入日志的内容的信息。