Проблема с отображением имен пользователей в моей флешке [: note] - Agile Web Development с Rails - Глава 11 - PullRequest
2 голосов
/ 25 апреля 2010

Я не могу понять, что я делаю здесь неправильно.

Кажется, я не могу заставить работать в моем флешке #ually@user.name} [: note]

Все остальное работает просто отлично, я могу добавлять новых пользователей, но когда я добавляю нового пользователя вместо того, чтобы сказать «Пользователь Джон Доу был успешно создан», он говорит: «Пользователь # enj@user.name} был успешно создан».

Я сейчас в депо-приложении: depot_p / app / controllers / users_controller.rb для работы.

Ответы [ 3 ]

8 голосов
/ 25 апреля 2010

Это связано с интерполяцией строк, которая предназначена только для строк в двойных кавычках, она не имеет никакого отношения к флэш-памяти.

Вы можете подставить значение любого выражения Ruby в строку в двойных кавычках, используя последовательность #{ expr }. Если выражение является просто глобальной переменной, переменной класса или переменной экземпляра, вы можете опустить фигурные скобки.

"Seconds/day: #{24*60*60}"    » Seconds/day: 86400
"#{'Ho! '*3}Merry Christmas"  » Ho! Ho! Ho! Merry Christmas
"This is line #$."            » This is line 3

Для получения дополнительной информации Программирование на Ruby - это бесплатная онлайн-книга по Ruby.

2 голосов
/ 25 апреля 2010

Хорошо, я понял это.

Уведомления Flash должны быть в двойных кавычках, а не в одинарных. У меня было:

flash [: note] = 'Пользователь # enj@user.name} успешно создан.'

Когда он должен был быть прошит [: note] = "Пользователь # enj@user.name} был успешно создан."

Это сложная деталь для общего новичка. К вашему сведению для других там.

0 голосов
/ 25 апреля 2010

Согласен с JRL. Если вы хотите использовать синтаксис # {foo} в любой строке, вам нужно использовать двойные кавычки.

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