4

フォームの送信が成功した後、フラッシュ通知を表示しようとしています。Railsでは、コントローラーで次のようなものを使用します。

:notice => "Youve submitted the form"

Sinatraフラッシュジェムに出くわしました。リダイレクト後にフラッシュメッセージを表示したいと思います。私は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

発生するのは、フラッシュメッセージなしでインデックスページにリダイレクトされることだけです。ドキュメントを見ると、これが私がしなければならないことがわかるすべてです。誰かが何か違うものを見ますか?

4

1 に答える 1

5

メッセージを保存できるように、フラッシュ通知をリダイレクトの前に移動しました。

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>

いくつかのスタイリングが必要ですが、機能します。誰かがより良い解決策を持っているなら、共有してください。

于 2013-02-07T15:52:11.727 に答える