我目前在我的控制器中有这个:
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]
然而无论如何都没有出现......
答案 0 :(得分:2)
Wooo Wooo Wooo从未使用session
用于此类工作,而是使用flash
代替documentation):
# 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]
来自文档的引用:
你在闪光灯中放置的任何东西都会暴露在下一个动作中然后被清除。
答案 1 :(得分:0)
您可以将其分配给控制器中的实例变量,然后在视图中显示该变量。您还可能希望会话[: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
但一般来说,这样的事情通常都是用flash消息完成的。