0

私は現在私のコントローラーにこれを持っています:

 if c.save 
    session[:success] = "Career updated successfully."
    redirect_to "/career"

そしてこれは私の見解では:

- if session[:success]
  .alert.alert-success.fade.in
    %button.close{"data-dismiss" => "alert", :type => "button"} ×
    %strong Well Done!
    = session[:success]

それでも、何も表示されません。

4

2 に答える 2

2

Wooo Wooo Wooo はsession、この種の仕事には絶対に使用しないでください。flash代わりに使用してください (ドキュメント):

# in the controller:
if c.save 
  flash[:success] = "Career updated successfully."
  redirect_to "/career"

# in the view:
- if flash[:success]
  .alert.alert-success.fade.in
    %button.close{"data-dismiss" => "alert", :type => "button"} ×
    %strong Well Done!
    = flash[:success]

ドキュメントからの引用:

フラッシュに配置したものはすべて、次のアクションにさらされてから消去されます。

于 2012-11-16T16:53:23.953 に答える
0

コントローラーのインスタンス変数に割り当てて、それをビューに表示できます。session[:success] をブール値にすることもできます。したがって、次のようになります。

コントローラーで:

 if c.save 
  session[:success] = true
  @status = "Career updated successfully."      
  redirect_to "/career"

そしてビューで:

- if session[:success]
  .alert.alert-success.fade.in
  %button.close{"data-dismiss" => "alert", :type => "button"} ×
  %strong Well Done!
  = @status

しかし、一般に、このようなことは通常、フラッシュ メッセージで実現されます。

于 2012-11-16T17:04:00.657 に答える