Ruby on rails 从另一个模型触发模型中的状态更改
刚接触rails并学习如何使用rails,我该如何让一个状态为哭泣的演员的粉丝改变为同样的哭泣状态Ruby on rails 从另一个模型触发模型中的状态更改,ruby-on-rails,ruby,Ruby On Rails,Ruby,刚接触rails并学习如何使用rails,我该如何让一个状态为哭泣的演员的粉丝改变为同样的哭泣状态 class Actor < ApplicationRecord include AASM has_many :fans aasm do state :laughing, :initial => true state :crying event :cry do transitions :from => :laughing, :
class Actor < ApplicationRecord
include AASM
has_many :fans
aasm do
state :laughing, :initial => true
state :crying
event :cry do
transitions :from => :laughing, :to => :crying
end
event :laugh do
transitions :from => :crying, :to => :laughing
end
end
end
class Fan < ApplicationRecord
include AASM
belongs_to :author
aasm do
state :laughing, :initial => true
state :crying
event :cry do
transitions :from => :laughing, :to => :crying
end
event :laugh do
transitions :from => :crying, :to => :laughing
end
end
end
class-Actortrue
国家:哭泣
事件:哭吧
转换:从=>:笑,到=>:哭
结束
事件:笑吧
转换:从=>:哭,:到=>:笑
结束
结束
结束
类风扇<应用程序记录
包括原子吸收光谱法
属于:作者
aasm do
state:laughing,:initial=>true
国家:哭泣
事件:哭吧
转换:从=>:笑,到=>:哭
结束
事件:笑吧
转换:从=>:哭,:到=>:笑
结束
结束
结束
您可以使用来触发参与者的其他方法:
class Actor < ApplicationRecord
include AASM
has_many :fans
aasm do
state :laughing, :initial => true
state :crying, :success => :fans_cry_too
# ...
end
private
def fans_cry_too
fans.each(&:cry)
end
end
class-Actortrue
状态:哭泣,:成功=>:粉丝们也哭了
# ...
结束
私有的
你也哭了吗
粉丝们,每个人(&:哭泣)
结束
结束