2011-09-28 10 views
25

मेरी नियंत्रकों के कई में, मैं रीडायरेक्ट/फ्लैश संदेशोंरूबी फ्लैश संदेश -: चेतावनी: त्रुटि: नोटिस और: सफलता?

redirect_to products_url, :notice => "message here", 
redirect_to states_url, :error => "oops!" etc... 

मेरी सत्र नियंत्रक में है, हालांकि, सफल प्रमाणीकरण पर, मेरे पास फ़्लैश [: सफलता] "! स्वागत" = उपयोगकर्ता को

मैं अपने अन्य नियंत्रकों में जैसे कुछ करने में सक्षम होना चाहता हूं: सफलता => "yay!"

यह ज्यादातर कॉस्मेटिक/स्थिरता उद्देश्यों के लिए है, लेकिन हैं: नोटिस, चेतावनी और: केवल फ्लैश-प्रकार उपलब्ध हैं/क्या मैं अतिरिक्त प्रकार जोड़ सकता हूं? क्या मैं समझ रहा हूँ?

धन्यवाद!

उत्तर

52

मेरा मानना ​​है कि बदलाव के बिना, इस के रूप में पास के रूप में आप मिल जाएगा है:

redirect_to user_path(@user), :flash => { :success => "Message" } 

यहाँ अनुकूल फ़्लैश वाक्य रचना इसके अलावा के बारे में कुछ additional notes है।

9

मैं सिर्फ पता चला कि रेल 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-2013 आप शैलियों के आधार पर फ्लैश संदेशों के विभिन्न प्रकार का उपयोग करना चाहते हैं के लिए

0

चेतावनी (सफलता और चेतावनी) बूटस्ट्रैप, आप नियंत्रक में:

flash[:success] = "This works!" 

और अपने लेआउट में (संभवत: application.html.erb)

<% if success.present? %> 
     <p class="alert alert-success"><%= success %></p> 
    <% end %> 

चेतावनी और अन्य बूटस्ट्रैप चेतावनी शैलियों के साथ वही बात।

संबंधित मुद्दे