Я разработал проект на GitHub, в котором есть флеш-сообщения. Например, с помощью Twitter знака в проекте я раздвоенный приходит с этим красным сообщением об ошибке для неудавшегося знака вУстранение неполадок флеш-сообщений в рельсах
flash[:error] = "Sign in with Twitter failed"
Я также нашел класс в CSS, что делает его красным. Я хочу использовать это сообщение об ошибке в другом месте, но у меня проблемы.
Например, когда я пытался сделать это
redirect_to show_path, flash[:error] => "Twitter's saying you're trying to post the same message twice"
Это просто не отправляя сообщение на Twitter и не дает никаких сообщений об ошибке. Когда я изменяю =>
к =
он ломает все приложения (когда я пытаюсь опубликовать дважды) дает мне это сообщение:
can't convert Symbol into String
Даже незнакомец (для меня), у меня нет никаких проблем с: уведомления. Это было прекрасно.
redirect_to show_path, :notice => "Your Tweet was posted!"
Может кто-нибудь объяснить, почему это происходит? This is the project on GitHub.
На самом деле, если вы внимательно читали мою О.П., я уже попробовал свое первое решение, и отметил, что не отображалось сообщение об ошибке на всех. Однако второе решение сработало. Можете ли вы объяснить, почему первый не работает? – Leahcim
В вашем примере вы используете 'flash [: error] =>" stuff "' в вызове redirect_to. Вам нужно использовать ': error =>" stuff "', без вспышки. [] Call. – jsinger
Разница между ними заключается в том, что когда вы используете 'flash [: error] =>" stuff "', ключ, который входит в хэш-аргумент, - это любое значение 'flash [: error]' is - вероятно, пустая строка, если вы явно не задали его заранее. Если вы вместо этого переходите в ': error =>« stuff »', вы используете символ ': error' для своего ключа, а не какое-то таинственное значение, плавающее в' flash'. – jsinger