2011-10-25 2 views
3

나는 state_machine last_action과 함께 참여자 모델을 가지고 있습니다. 역할 속성에 따라 last_action의 초기 값을 설정하고 싶습니다. 역할이 "교사"인 경우 초기 값은 "값 1"이고 역할이 "학생"인 경우 초기 값은 "값 2"입니다.state_machine 초기 상태를 다른 속성에 조건부로 설정하십시오.

어떻게해야합니까? (나는 레일즈 3.0에서 state_machine gem을 사용하고있다). 감사합니다.

답변

0
before_validation :set_initial_last_action, :on => :create 

state_machine :last_action do 
    ... 
end 

private 

def set_initial_last_action 
    if role == 'Tutor' 
    self.last_action = 'value 1' 
    elsif role == 'Student' 
    self.last_action = 'value 2' 
end 
end 

건배

관련 문제