fc2ブログ

2023.08 «  - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 » 2023.10
TOP > rails の flash を使ってみる・その2【flash.now】

 ← rails の flash を使ってみる・その3【flash.keep と flash.discard】 | TOP | rails の flash を使ってみる・その1【rails の flashの基本】

rails の flash を使ってみる・その2【flash.now】 

2007年12月15日 ()
前回、flash は、次の画面までは使える、と書きましたが、実は自分の画面でしか使えない、つまり次の画面では消えてしまう flash 機能があります。

その名も flash.now

値を代入するときに、flash.now[:honyarara] と .now が余計に付きます。

値を参照するときには、flash と同じで flash[:honyarara] と書きます。

例をみましょうか。

↓で、flash と flash.now の 2 種類を用意します。
app/controllers/flash_example_controller.rb

class FlashExampleController < ApplicationController
  layout 'my_layout'

  def page1
    flash[:msg1] = 'カンパネルラ'
    flash.now[:msg2] = 'しのざき美知'
  end

  def page2
  end

end



↓は、画面表示用です。flash[:msg1] や flash[:msg2] があったら必ず表示するようにレイアウトファイルを使います。
app/views/layouts/my_layout.rhtml

<% if flash[:msg1] -%>
  <%= flash[:msg1] %>
<% end -%>

<% if flash[:msg2] -%>
  <%= flash[:msg2] %>
<% end -%>

<%= yield %>


ちなみにレイアウトファイルって何?っていう方は、こちらのエントリーを参考にしてみてください。


app/views/flash_example/page1.rhtml

this is page 1
<%= link_to('page2へのリンク', :action => 'page2') %>



app/views/flash_example/page2.rhtml

this is page 2



これで準備完了。

そして、

http://localhost:3000/flash_example/page1



にアクセスしますと、

カンパネルラ しのざき美知 this is page 1 page2へのリンク



が表示されました。flash も flash.now も表示されたっていう訳です。

そしてこの画面のpage2へのリンクをクリックすると、

http://localhost:3000/flash_example/page2



に画面が遷移します。この画面には、

カンパネルラ this is page 2



が表示されます。flash は表示されるけど、flash.now は表示されない、って訳でした。

つまり flash は次の画面(アクション)まで引き継がれるが、flash.now は自分の画面(アクション)まででおしまいです。

ちなみに、前回のエントリの繰り返しですが、flash は次の画面(アクション)までは引き継がれますが、次の次の画面(アクション)では引き継がれません。

以上、flash と flash.now の違いでした。


【広告】

[2007.12.15(Sat) 17:27] flashTrackback(0) | Comments(0)
↑TOPへ

 ← rails の flash を使ってみる・その3【flash.keep と flash.discard】 | TOP | rails の flash を使ってみる・その1【rails の flashの基本】

COMMENT

COMMENT POST















管理者にだけ表示

 ← rails の flash を使ってみる・その3【flash.keep と flash.discard】 | TOP | rails の flash を使ってみる・その1【rails の flashの基本】