Странная ошибка синтаксиса рубина - PullRequest
1 голос
/ 25 октября 2011

Я получил этот код, сгенерированный для скаффолда:

assert_difference('Day.count') do
  post :create, day: @day.attributes
end

Вы видите?Это не :day => @day.attributes, это day: @day.attributes.Одна из моих двух сред разработки не жалуется, другая жалуется, а производство не жалуется.Я схожу с ума?

Ответы [ 3 ]

2 голосов
/ 25 октября 2011

Я ожидаю, что одна из ваших сред использует Ruby 1.9.2, а одна среда установлена ​​на более старой версии Ruby.

То, что вы видите, представляет собой форму именованных параметров (иногда называемую «параметрами ключевого слова»), которая обеспечивает синтаксический сахар вокруг старого механизма хеширования, который почти предоставлял именованные параметры.

0 голосов
/ 25 октября 2011

Это просто новый синтаксис ruby ​​1.9. Вы можете отслеживать изменения синтаксиса ruby ​​на eigenclass.org : -)

РЕДАКТИРОВАТЬ: Кажется, что-то искажено. Интересно.

0 голосов
/ 25 октября 2011

Это более новый хэш-синтаксис ruby ​​1.9. Лично я никогда не переключался. Старые добрые стрелки меня устраивают. Очевидно, что одно из ваших окружений не поддерживает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...