2011-11-03 4 views
0

배경 : 지난 몇 개월 동안 최신 버전으로 업그레이드하려고 시도했지만 큰 걸림돌이 도입 된 것 같습니다. 1.2.0이므로 지금은 1.2.0으로 업그레이드하는 데 집중하고 있습니다. 모든 장치 플래시 메시지는 1.1.7에 올바르게 표시되고 1.2.1에는 장치 플래시 메시지가 표시되지 않습니다. 작동하지 않는 메시지 사이의 유일한 변화는 장치 업그레이드입니다. 이 질문의 목적을 위해 세션 컨트롤러의 플래시 메시지에 초점을 맞추 겠지만 다른 모든 플래시 메시지는 작동하지 않습니다.Devise Flash 1.1.7에서 1.2.1로 업그레이드 한 후 메시지가 표시되지 않습니다.

있음 1.1.7 : 세션 # 새 양식에 정확한 이메일과 잘못된 이메일을 입력합니다. 제출을 클릭합니다. 플래시가 나타납니다 [: 경고] : "잘못된 이메일 또는 비밀번호입니다."

1.2.1 : 세션 # 새 양식에 올바른 이메일과 잘못된 이메일을 입력합니다. 제출을 클릭합니다. 나는 경계하지 않는다.

SessionsController :

class User::SessionsController < Devise::SessionsController 
    layout "no_chrome", :only => :new 
    skip_authorization_check 
    before_filter :sign_out_all_scopes, :only => %w[new create] 
    protect_from_forgery :except => [:new, :create] 
    skip_before_filter :verify_authenticity_token 

    def create 
    super 
    end 
end 

뷰 : 나 '로 세션/new.html.erb application_helper.rb

def flash_div(kind) 
    unless flash[kind].blank? 
     text = "<p>#{flash[kind]}</p>" 
     content_tag :div, text.html_safe, :id => "flash", :class => kind 
    end 
    end 

에서

<div class="form_container"> 
    <%= flash_div(:alert) %> 
    <%= simple_form_for @user, :url => user_session_path do |form| %> 
     <%= form.input :email %> 
     <%= form.input :password, :required => true %> 
     <%= form.submit "Sign in", :class=>"purple submit_button" %> 
    <% end %> 
</div> 

어떤 도움을 주시면 감사하겠습니다 몇 달 동안이 업그레이드를 계속하고 싶습니다. 또한 플래시 메시지 이외의 모든 것이 업그레이드 후에 작동하고 있음을 지적하고자합니다.

해결책 :

제거 before_filter : sign_out_all_scopes

답변

1

제거 before_filter : sign_out_all_scopes

관련 문제