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 回答