无法让Sinatra Flash Gem工作

时间:2013-02-07 14:42:18

标签: ruby sinatra alert

我试图在成功提交表单后出现闪光通知。在Rails中,我会在控制器中使用这样的东西:

:notice => "Youve submitted the form"

我遇到了Sinatra flash gem并希望在重定向后显示一条Flash消息。我像这样安装了gem和设置:

myapp.rb:

require 'sinatra/flash'
enable :sessions

#form config
 )}
redirect '/success' # this is the hook after my form submission
end

get('/success') do
 flash[:success] = "Thanks for your email. I'll be in touch soon."
 erb :index 
end

所有这一切都是因为我被重定向到没有flash消息的索引页面。看看文档,这是我能看到的,我需要做的。有没有人看到不同的东西?

1 个答案:

答案 0 :(得分:5)

我在重定向之前移动了我的flash通知,因此它可以保存消息:

flash[:notice] = "Thanks for your email. I'll be in touch soon."
redirect '/success'

get('/success') do
 erb :index 
end

然后,在我看来,我现在把它放在顶部:

<div id='flash' class='notice'>
 <a class="close" data-dismiss="alert">&#215;</a>
 <%= flash[:notice] %>
</div>

它需要一些造型但是有效。如果有人有更好的解决方案,请分享。