2014-10-29 50 views
0

我無法在模板中顯示notice變量。代碼如下:無法顯示Flash通知

class UserController < ApplicationController 
    protect_from_forgery 
    skip_before_filter :require_login, :except=>[:list,:add,:delete,:update] 
    def add 
    end 

    def delete 
    end 

    def update 
    end 

    def list 
    end 

    def login 
    end 

    def logout 
    end 

    def isloggedin 
    login = params[:login].to_s 
    password = params[:password].to_s 
    logged_in = User.where(:user_name => login,:password => password).limit(1) 
    if not logged_in.blank? 
     session[:userinfo] = logged_in 
     redirect_to '/event/list' 
    else 

     flash[:notice] = 'Unable to login' 
     redirect_to '/user/login' 
    end 

    end 
end 

模板文件

<div><%= notice %></div> 
+1

將模板文件代碼更改爲:

<%= flash[:notice] %>
然後再試一次。 – Surya 2014-10-29 09:37:21

+0

沒有運氣。我看不到它 – Volatil3 2014-10-29 09:38:52

+0

當您嘗試時,您是否確定條件通過'else'設置了'flash [:notice] ='無法登錄'?另外,你可以這樣做:'redirect_to'/ user/login',注意''無法登錄',而不是寫成兩行。 – Surya 2014-10-29 09:40:46

回答

2

這種添加到您的模板文件:

<% flash.each do |key, value| %> 
    <div class="alert alert-<%= key %>"><%= value %></div> 
<% end %> 

因此,當你運行你的代碼下一次密鑰更換「的通知「和價值與」無法登錄「

希望這種幫助! 謝謝

+0

如果問題解決然後PLZ接受這個答案 – 2014-11-06 08:57:12

0

這是因爲我得到錯誤Can't verify CSRF token authenticity。我在表單中添加了以下輸入字段,並且它開始顯示消息:

<input name="authenticity_token" type="hidden" value="<%= form_authenticity_token %>" />