Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 根据其他属性设置状态\机器初始状态条件_Ruby On Rails_State Machine - Fatal编程技术网

Ruby on rails 根据其他属性设置状态\机器初始状态条件

Ruby on rails 根据其他属性设置状态\机器初始状态条件,ruby-on-rails,state-machine,Ruby On Rails,State Machine,我有一个参与者模型,带有状态机的最后一个动作。我想根据角色属性设置最后一个动作的初始值。若角色为“导师”,则初始值为“值1”,若角色为“学生”,则初始值为“值2” 我该怎么做?(我在Rails 3.0中使用状态机gem)。 多谢各位 before_validation :set_initial_last_action, :on => :create state_machine :last_action do ... end private def set_initial_las

我有一个参与者模型,带有状态机的最后一个动作。我想根据角色属性设置最后一个动作的初始值。若角色为“导师”,则初始值为“值1”,若角色为“学生”,则初始值为“值2”

我该怎么做?(我在Rails 3.0中使用状态机gem)。 多谢各位

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
干杯