Ruby on rails 是否使用两列的组合上载excel数据?

Ruby on rails 是否使用两列的组合上载excel数据?,ruby-on-rails,csv,roo-gem,Ruby On Rails,Csv,Roo Gem,我有一张excel表格,其格式如下所示: 成员在相应的成员表中可以有多个条目。从excel模板上载数据时,我希望通过pin查找\u以及结束日期,以便在上载过程中更新特定记录 我正在使用gemroo导入excel数据,下面是我的load\u imported\u members方法: def load_imported_members spreadsheet = open_spreadsheet spreadsheet.default_sheet = 'Worksheet'

我有一张excel表格,其格式如下所示:

成员在相应的
成员
表中可以有多个条目。从excel模板上载数据时,我希望
通过
pin
查找\u以及
结束日期
,以便在上载过程中更新特定记录

我正在使用
gemroo
导入excel数据,下面是我的
load\u imported\u members
方法:

def load_imported_members
    spreadsheet = open_spreadsheet
    spreadsheet.default_sheet = 'Worksheet'
    header = spreadsheet.row(1)
    (2..spreadsheet.last_row).map do |i|
      row = Hash[[header, spreadsheet.row(i)].transpose]
      member = Member.find_by_pin(row["pin"]) || Member.new
      member.attributes = row.to_hash.slice("id", "name", "pin", "end_date", "email")
      member
    end
  end


我估计如果我在
find\u by
方法中同时使用
pin
end\u date
,我将更新特定记录,因为表中可能有两个条目,但其中一个必须有
end\u date
。我怎样才能做到这一点?谢谢

如果您想一次只查找一条记录,您可以使用带有散列的
find_by()
搜索多个列,如下所示:

Member.find_by(pin:row[“pin”]、end_date:row[“end_date”])

find_by
有更多解释

如果要检索与搜索匹配的多条记录,则需要在成员类上使用
where()
函数,而不是
find\u by()


在哪里
有更多解释

你能帮我回答一个几乎相似的问题@randall coding吗?非常感谢。