代码之家  ›  专栏  ›  技术社区  ›  Satchel

有没有办法在ruby on rails中不使用循环来更新整个数组或命名范围?

  •  0
  • Satchel  · 技术社区  · 15 年前

    我使用名为_scopes的searchlogic创建以下数组:

    todos = Todo.asset_is("Email").asset_id_is(self.id)
    

    我需要对那些有逻辑的人做些改变,比如:

    difference = (original_date - date_entered) - self.days
    original_date = date_entered + self.days
    current_date = current_date - different
    

    我不想做的是每做一个循环。但我不知道是否还有其他选择——比如SQL中的“更新”(但不需要使用SQL——比如使用searchlogic)

    1 回复  |  直到 15 年前
        1
  •  1
  •   Voldy    15 年前
    Todo.update_all(["original_date = date_entered + %d, current_date = ... + %d", 
                     self.days, self.days], ["id in (?)", todos.map(&:id)])