gpt4 book ai didi

ruby-on-rails - Rails 迁移 : check variable existance

转载 作者:搜寻专家 更新时间:2023-10-30 23:27:31 26 4
gpt4 key购买 nike

我正在做一个新的 Rails 迁移文件以将属性内容从模型移动到另一个模型:

class StepIdCorrectionForReportSheetTemplate < ActiveRecord::Migration[5.1]
def change
Report.current.find_each do |report|
first_sheet = report.sheets.select{ |sheet| !sheet.is_archived }.sort_by{ |sheet| sheet[:order] }.first
if not report.step_id.nil?
first_sheet.update( step_id: report.step_id )
first_sheet.template.update( step_id: report.step_id )
end
end

end
end

我得到了这个错误:

undefined method `update' for nil:NilClass /home/sahnoun/altagem/web/db/migrate/20190208104955_step_id_correction_for_report_sheet_template.rb:7:in 'block in change'

我想我应该添加一些其他测试来检查 report_sheetreport_sheet.template 是否存在

最佳答案

是的,您可以检查 first_sheet.template 是否存在:

 first_sheet.template.update( step_id: report.step_id ) if first_sheet.template

关于ruby-on-rails - Rails 迁移 : check variable existance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com