我必须运行的脚本:
Li = LineItem.find #####
li.rental_period = ###
li.save!
我有800个订单项号来运行此功能。非常感谢您的帮助。
答案 0 :(得分:1)
如果他们都有不同的租期:
line_item_numbers.each do |num|
li = LineItem.find(num)
li.rental_period = custom_rental_period
li.save!
end
如果它们完全相同,您只需执行update_all
:
LineItem.where(id: line_item_numbers).update_all(rental_period: custom_rental_period)
答案 1 :(得分:0)
line_item_number_string = line_item_number.join(',')
ActiveRecord::Base.connection.execute("UPDATE line_items SET rental_period=<value> WHERE id IN (#{line_item_number_string})")
答案 2 :(得分:0)
while循环
a = 0
b = 4 #this loop will run 4 times
while a < b
Li = LineItem.find #####
li.rental_period = ###
li.save!
a += 1 #adds one to a
end
这与第一个答案几乎相同,只是以不同的方式编写。我发现红宝石的新手可以更容易理解这一点。
OR
def go
Li = LineItem.find #####
li.rental_period = ###
li.save!
end
然后在代码中调用“go”来执行语法
go
这就是你怎么称呼