我写了一个重定向,因此检查页面是否为https://,如果是,则将其指向http://。
但是,我想使用从https://传递的flash消息,但它在重定向期间消失,因此它永远不会显示给用户。所以,我试过flash[:notice].keep
,但这也不起作用。没有出现重定向,但是在下一页上它最终会显示消息。这是我的代码:
def turn_off_https
if (request.ssl? && params[:controller] != 'subscriptions')
flash[:notice].keep
redirect_to :subdomain => "www", :protocol => "http://"
end
end
基本上我只有我的网站的1页我想要https://但是在添加之后,用户去的任何其他页面都有https://即使我不想要那个。这就是为什么我将这个before_filter添加到应用程序控制器以确保切换回http。如何确保通知在重定向时显示?
我还尝试在该方法的redirect_to中添加“:notice”,但只是将消息作为参数放入URL中,并且实际上并没有将其加载到页面上
答案 0 :(得分:0)
根据Rails API:
flash.keep # keeps the entire flash
flash.keep(:notice) # keeps only the "notice" entry, the rest of the flash is discarded