0

抱歉这个愚蠢的问题,但我已经用谷歌搜索了很多,似乎无法弄清楚我实际上遇到的问题是什么。我正在尝试插入一个(n 空)表并获得以下信息:

/var/lib/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/attribute_assignment.rb:69:in `assign_attributes': undefined method `stringify_keys' for "A":String (NoMethodError)

我在另一个表中查询“ticker”字段并计算该ticker 的growth_rate,然后尝试将这些值插入fast_growers。以下是相关代码:

Tickers.all.each do |t|
  ticker = t.ticker
  #get ticker data from interwebs and parse with Nokogiri
  #calculate growth_rate
  FastGrowers.create(ticker, growth_rate)
end

如果有人能对正在发生的事情有所了解,我将不胜感激。

谢谢!

4

1 回答 1

1

该错误消息表明您没有将正确类型的参数传递给 assign_attributes 方法(该方法用于在 ActiveRecord 对象上设置属性,然后将它们保存到数据库中)。FastGrowers 是否继承自 ActiveRecord?如果是这样,您是否重写了 FastGrowers.create 方法来获取 Tickers 对象?我怀疑您想要的可能是 FastGrowers.create(:ticker => ticker, :growth_rate => growth_rate),但不能从上面的代码片段中确定。

希望这可以帮助/

于 2013-06-24T01:45:26.300 回答