【发布时间】:2019-10-27 04:50:50
【问题描述】:
成员可以在对应的members 表中有多个条目。从excel模板上传数据时,我想find_bypin以及end_date,以便在上传时更新具体记录。
我使用gem roo导入excel数据,这里是我的load_imported_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_by 方法中同时使用pin 和end_date,我将更新特定记录,因为表中可能有两个条目,但其中一个必须有一个end_date。我怎样才能做到这一点?谢谢
【问题讨论】:
标签: ruby-on-rails csv roo-gem