Вы используете синтаксис, как если бы вы интерполировали строку:
#{args.team_name}
Но без кавычек - здесь нет предполагаемой строки. Это означает, что Ruby будет воспринимать это как комментарий, начинающийся с #
. Что, в свою очередь, означает, что в коде нет закрывающего )
. Когда синтаксический анализатор находит end
, это неожиданно, поскольку он все еще думает, что контекст находится внутри вызова метода, поэтому он не может завершить внешний блок.
Вы должны использовать:
ESP::Team.create(name: args.team_name, sub_organization_id: 1)
Или:
ESP::Team.create(name: "#{args.team_name}", sub_organization_id: 1)
Первый - это то, что вы должны использовать, если ваш метод всегда возвращает String
. Здесь args.team_name
может вернуть nil
. Но вы должны действительно проверить это раньше и выполнить задачу, если это так, поскольку пустое имя команды может вызвать проблемы в другом месте вашего кода.