2012-06-11 4 views
0

사용자가 Devise를 사용하는 Rails 3.2.3 앱에 가입하면 after_create 콜백이 트리거되어 조직 레코드를 만들려고합니다.after_create 콜백 : 플래시 메시지

create이 유효성 검사에 실패하면 어떻게 표시 할 수 있습니까? 기기 컨트롤러를 무효화해야합니까? 문제는, 오류는 사용자가 아니라 조직의 생성과 관련이 있다는 것입니다. (그리고 저는 바닐라 사용자 모델을 설정했습니다).

I은 ​​사용자 모델에서 이런 일을하고 있어요 :

# after_create callback method 
... 
    unless new_org_user.save 
     errors.add("Warning", "Organisation is invalid") 
    end 
... 

답변

0

당신이 레코드가 이미 성공적으로 그래서 플래시 메시지가 apear하지 않습니다 생성 된 after_create 콜백에서 이벤트를 발사하고 있기 때문에.

왜 조직이 유효하지 않은 경우 당신이 그것을 검증을 실패하는 대신 관련 협회로 이동하고

class User < ActiveRecord::Base 
    has_one :organization 
    accepts_nested_attributes_for :organization 
end 

class Organization < ActiveRecord::Base 
    belongs_to :user 
end 

처럼이 방법을 아이의 검증을 요구하려고하지 말아

관련 문제