在rails控制器中发出警报而不重定向

时间:2011-09-23 21:09:12

标签: ruby-on-rails redirect routing controller

如果邮件是/未保存,我只是想闪一个通知/错误,没有任何重定向,我怎么能没有重定向:

  respond_to do |format|
  if @message.save
    format.html { redirect_to request.referer, :notice => 'Message sent!' } #dont want redirect
  else
    # error message here
  end

2 个答案:

答案 0 :(得分:27)

使用flash.now

if @message.save
  flash.now[:notice] = 'Message sent!'
else
  flash.now[:alert] = 'Error while sending message!'
end

respond_to do |format|
  format.html { # blahblah render }
end

答案 1 :(得分:1)

在Rails 5中,您可以执行以下操作:

format.html { redirect_to request.referer, alert: 'Message sent!' }