Написание простого условного утверждения в IRB

StackOverflow https://stackoverflow.com/questions/3017433

  •  26-09-2019
  •  | 
  •  

Вопрос

Я ищу всех организаций с 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, но мое первое подозрение заключается в том, что вы используете оператор присваивания (=) вместо оператора равенства (==). Быстрый поиск Google для «ruby Irb условный», кажется, доказывает это.

И вы, вероятно, получили голосование, потому что вы не включали ошибки компиляции в вашем вопросе. Если мое предположение неверно, я даже не могу помочь попробовать интерпретировать сообщение об ошибке, потому что вы его не предоставили.

Обновление: на основе первого комментария к ответу, я полагаю, что мое первое подозрение неверно - неправильное истолкование намерения линии кода. Но тогда это то, что происходит, когда сообщения об ошибках не доступны.

Update2: первый комментарий не там ... Может быть, это было удалено или, возможно, я начал печатать в неправильном месте ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top