首页 > 解决方案 > 在迭代重复日期时在 Rails 中创建唯一 ID

问题描述

我正在使用一种方法来创建日期数组,然后使用此方法对其进行迭代以进行会议:

[2021-03-21, 2021-03-22, 2021-03-23].map do |date|
   Meeting.new(id: id, user_id: user_id , name: name, start_time: date, 
   end_time: date, complete: complete, description: description)
 end

然后使用以下方法设置会议:

def set_meeting
  @meeting = Meeting.find(params[:id])
end

我有一个会议完成的布尔参数,所以我需要将每个会议创建为唯一的 id,这样我就可以将它们视为日历上的单独会议

标签: ruby-on-railsrubyiteration

解决方案


这里在初始化会议对象时无需指定 id。Rails 为您的对象自动生成顺序 ID。初始化对象后,您需要将此对象存储/保存在数据库中。使用 new 您只是在内存中初始化对象,而不是将它们存储在数据库中。一旦您将记录存储在数据库中,那么从参数中获取 id 并在数据库中查找记录将很容易。

meeting = Meeting.new(user_id: user_id , name: name, start_time: date, 
   end_time: date, complete: complete, description: description)
meeting.save

推荐阅读