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

在IRB中编写简单的条件语句

  •  1
  • Trip  · 技术社区  · 14 年前

    我正在查找URL为“http://”的所有组织,并将其属性更新为“”。

    我的尝试:

    Organization(:all).select { |o| o.url = "http://" ? o.update_attribute("url","")}
    

    返回编译错误:

    SyntaxError: compile error
     (irb):2: syntax error, unexpected '}'
       from (irb):2
    

    有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Garfield    14 年前

    试用使用 update_all

    Organization.update_all("url = ''", ["url =?",'http://'])
    
        2
  •  0
  •   atk    14 年前

    我不是Ruby专家,但我的第一个怀疑是您使用的是赋值运算符(=)而不是相等运算符(=)。谷歌对“RubyIRB条件”的快速搜索似乎证明了这一点。

    你可能因为没有在你的问题中包括编译错误而被否决了。如果我的猜测是错误的,我甚至无法帮助解释错误消息,因为您没有提供它。

    更新:基于对答案的第一个评论,我认为我的第一个怀疑是错误的——对代码行意图的误解。但是,当错误消息不可用时,就会发生这种情况。

    更新2:第一条评论不在那里…也许它被删除了,或者我开始在错误的地方打字…