首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义的方法each_with_index活动记录-导入

未定义的方法each_with_index活动记录-导入
EN

Stack Overflow用户
提问于 2013-03-23 02:52:07
回答 1查看 1.1K关注 0票数 0

我在Rails中有一个股票价格历史模型,我想将这些数据从yahoo finance api批量导入到我的模型中。

这就是我所拥有的:

代码语言:javascript
复制
columns = [:date,:open,:high,:low,:close,:volume,:adjusted_close,:asset_symbol]
values = ['2013-03-22',1,2,3,4,5,6,'YHOO']

AssetHistory.import columns,values

这会导致一个错误:undefined method each_with_index for '2013-03-22':String from .../activerecord-import/import.rb

请注意,我的值数组中的日期实际上是我的模型中的date类型。(这就是问题所在吗?)

我使用的是Activerecord-import 0.3.1和Rails 3.2。如果有必要的话,我也在使用Postgresql。

我的带注释的资产历史模型:

代码语言:javascript
复制
# Table name: asset_histories
#
#  id             :integer          not null, primary key
#  date           :date
#  open           :float
#  high           :float
#  low            :float
#  close          :float
#  volume         :integer
#  adjusted_close :float
#  asset_symbol   :string(255)
#  asset_id       :integer
#

class AssetHistory < ActiveRecord::Base
  attr_accessible :adjusted_close, :close, :date, :high, :low, :open, :volume, :asset_id, :asset_symbol
  has_and_belongs_to_many :assets
  validates_uniqueness_of :asset_symbol, scope: [:date]
end

这个问题有什么原因吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-23 03:52:08

在将对象导入到模型中时,我们应该像下面这样调用该方法。

代码语言:javascript
复制
Model.import <array_of_cols>, <array_of_values>

例如:

代码语言:javascript
复制
Sample.import [:field1, :field2], [["value-a1", "value-a2"], ["value-b1", "value-b2"]]

上面的示例将创建示例模型的两条记录。

因此,在您的情况下,请像这样提供。

代码语言:javascript
复制
AssetHistory.import columns, [values]

希望这能行得通。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15577830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档