いくつかのコントローラーで、リダイレクト/フラッシュメッセージがあります
redirect_to products_url, :notice => "message here",
redirect_to states_url, :error => "oops!" etc...
ただし、セッションコントローラーでは、認証が成功すると、flash [:success] = "welcome!"が表示されます。ユーザーへのリダイレクト
私は他のコントローラーで:success => "yay!"のようなことをできるようにしたいです。
これは主に化粧/一貫性を目的としていますが、:notice、:alert、:errorのみが利用可能なフラッシュタイプです/追加のタイプを追加できますか?私は理にかなっていますか?
ありがとう!
私は変更なしで信じています、これはあなたが得ると同じくらい近いです:
redirect_to user_path(@user), :flash => { :success => "Message" }
フレンドリーなフラッシュ構文の追加に関する 追加の注意 を次に示します。
Rails 4では、アプリコントローラーにカスタムタイプを登録できることがわかりました。
class ApplicationController
...
add_flash_types :error, :another_custom_type
end
# app/controllers/users_controller.rb
class UsersController < ApplicationController
def create
...
redirect_to home_path,
error: "An error message for the user"
end
end
# app/views/home/index
<%= error %>
メリットは http://blog.remarkablelabs.com/2012/12/register-your-own-flash-types-Rails-4-countdown-to-201
bootstrap alert(成功と警告)に基づいて異なるタイプのフラッシュメッセージスタイルにアクセスする場合、コントローラーで:
flash[:success] = "This works!"
そして、あなたのレイアウト(おそらくapplication.html.erb)
<% if success.present? %>
<p class="alert alert-success"><%= success %></p>
<% end %>
警告およびその他のbootstrapアラートスタイル。