我正在查找所有 URL 为“http://”的组织,并将它们的属性更新为“”。
我的尝试:
Organization(:all).select { |o| o.url = "http://" ? o.update_attribute("url","")}
返回编译错误:
SyntaxError: compile error
(irb):2: syntax error, unexpected '}'
from (irb):2
有任何想法吗?
我正在查找所有 URL 为“http://”的组织,并将它们的属性更新为“”。
我的尝试:
Organization(:all).select { |o| o.url = "http://" ? o.update_attribute("url","")}
返回编译错误:
SyntaxError: compile error
(irb):2: syntax error, unexpected '}'
from (irb):2
有任何想法吗?
尝试使用update_all
Organization.update_all("url = ''", ["url =?",'http://'])
我绝不是 ruby 专家,但我的第一个怀疑是您使用的是赋值运算符 (=) 而不是相等运算符 (==)。快速谷歌搜索“ruby irb conditional”似乎证明了这一点。
而且您可能会投反对票,因为您的问题中没有包含编译错误。如果我的猜测是错误的,我什至无法帮助尝试解释错误消息,因为您没有提供它。
更新:根据对答案的第一条评论,我相信我的第一个怀疑是错误的——对代码行意图的误解。但是,当错误消息不可用时,就会发生这种情况。
UPDATE2:第一条评论不在那里......也许它被删除了,或者我开始输入错误的地方......