2015-05-22 37 views
1

我想問一下,如果沒有任何方法可以在不使用Twitter Bootstrap的情況下更改Flash消息的外觀?Ruby on Rails:更改不帶Twitter的Flash消息顏色引導程序

這是我的觀點:.index.html.erb

<form class="login-form" action="/login" id="login-form" method="post" > 
    <h2 class="login-title">Sign In</h2> 
    <% flash.each do |name, msg| -%> 
    <%= content_tag :div, msg, class: name %> 
    <% end -%> 

而且我的控制器如下:

def create 
    @user = User.find_by_email(params[:email]) 
    # If the user exists AND the password entered is correct. 
    if @user && @user.authenticate(params[:password]) 
    # login code comes here 
    else 
     flash.now[:error] = 'Invalid email/password combination' 
     render 'new' 
    end 
    end 

如何樣式我的錯誤提示信息,而無需使用Twitter的引導?

預先感謝您!

+0

你可以添加你自己的css類爲那 –

+0

沒有冒犯,但這是一個非常混亂的問題...我有點不知所措,甚至開始回答。 – janfoeh

回答

1

你可以簡單地指定一個CSS類的提示信息,並且風格也適當地:

<% flash.each do |name, msg| %> 
    <div class="custom-alert"> 
    <%= msg %> 
    </div> 
<% end %> 

而在你適當的樣式表:

.custom-alert { 
    background-color: #d96459; 
} 

如果你要分配各種自定義的警報類基於Flash名稱,您可以定義幫助程序以有條件地輸出類名稱並將其嵌入到標記中的類名稱中:

module ApplicationHelper 
    def alert_class(flash_name) 
    if flash_name == "success" 
     return "success-class" 
    elsif flash_name == "error" 
     return "error-class" 
    else 
     return nil 
    end 
    end 
end 

# And then in your markup: 

<% flash.each do |name, msg| %> 
    <div class=<%= name %>> 
    <%= msg %> 
    </div> 
<% end %> 

希望這有助於!

相關問題