Rails字段改变了价值

时间:2015-05-08 18:17:03

标签: ruby-on-rails model-view-controller

我有3个模型CurrencyNeuralNetworkPrediction。每种货币都有一个与之相关的神经网络,可以创建预测。

每次调用货币的update方法时,它都会要求神经网络生成新预测,或者使用已生成的预测。货币has_one神经网络,has_one预测。

货币控制人:

def update
    if @currency.update(currency_params)
      prediction = @currency.neural_network.predict
      redirect_to prediction
    end
  end

神经网络的模型

  def predict
    if(self.prediction == nil)
      #some other code
      (0..29).each do |i|
        #ASS: I'm getting the data for today at the beginning of the day
        self.prediction.exchange_rates << ExchangeRate.new(last: predicted_rates[i], date: Date.today + i + 1, predicted: true)
      end
    end
    p "there are #{self.prediction.exchange_rates.size} predicted rates"
    self.prediction
  end

我的问题是,如果调用控制器方法两次,则打印以下内容:

    there are 30 predicted rates
    there are 0 predicted rates

为什么该字段会改变其价值?为什么循环中创建的对象没有被记住?

0 个答案:

没有答案