如何在Rails中使用respond_to设置自定义flash

时间:2012-12-18 15:30:27

标签: ruby-on-rails-3 respond-to

respond_to中,您可以像这样设置flash[:notice]

respond_to do |format|
  format.html { redirect_to photo_path(photo), :notice => 'The photos was saved') }
  format.xml  { render :xml => photo, :status => :created}
end

我正在尝试使用:success => "yay"设置flash [:success],但它不起作用。

我做错了吗?

2 个答案:

答案 0 :(得分:8)

您应该以不同方式使用redirect_to:

redirect_to photo_path(photo), :flash => { :success => "Yeepee!" }

您可以直接使用的唯一闪光灯是

  • :通知
  • :警报
  • :错误

希望有所帮助

答案 1 :(得分:5)

从Rails 4中,您可以直接在:success中使用redirect_to

只需添加以下行:

# in app/controllers/application_controller.rb

class ApplicationController < ActionController::Base
    [...]

    add_flash_types :error, :success, :info

    [...]

如果没有这一行,在respond_to中,:notice会产生闪存,但是:成功不起作用。

帽子提示Milan Mondal's post for this