Я знаю, что вы уже приняли ответ, но я хотел бы дать более подробную информацию по этому вопросу здесь.Настоящая причина, по которой ваш исходный код дал сбой, заключается в том, что:
redirect_to(:action => "new", :notice => "its a good thing!")
по сути такой же, как этот:
url = url_for(:action => "new", :notice => "its a good thing!")
redirect_to(url)
В приведенном выше примере легче увидеть, что значение url
будет предполагать, что :notice
- это параметр, который вы пытаетесь передать как часть URL.То, что вы пытаетесь сделать, это передать :notice
в качестве опции redirect_to
, но она объединяется с другими вашими опциями хэширования для формирования URL.
Вот два (непроверенных) решения, которые нужно попробовать:
redirect_to({:action => "new"}, {:notice => "its a good thing!"})
или:
redirect_to(url_for(:action => "new"), :notice => "its a good thing!")