Ruby on rails 是否使用两列的组合上载excel数据?
我有一张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模板上载数据时,我希望通过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吗?非常感谢。