ruby-on-rails – 带参数回调后的aasm
发布时间:2020-12-17 03:06:28 所属栏目:百科 来源:网络整理
导读:我在rails 4应用程序中使用了 aasm(以前的acts_as_state_machine)gem.我在Post模型上有这样的东西 ... aasm column: :state do state :pending_approval,initial: true state :active state :pending_removal event :accept_approval,:after = Proc.new { |u
我在rails 4应用程序中使用了
aasm(以前的acts_as_state_machine)gem.我在Post模型上有这样的东西
... aasm column: :state do state :pending_approval,initial: true state :active state :pending_removal event :accept_approval,:after => Proc.new { |user| binding.pry } do transitions from: :pending_approval,to: :active end end ... 当我调用@ post.accept_approval!(:active,current_user)并触发后回调时,在我的控制台中我可以检查用户是什么(传递给Proc),它是零! 这里发生了什么?这种过渡的正确方法是什么? 解决方法
在章节回调中查看aasm文档.
... aasm column: :state do state :pending_approval,initial: true state :active state :pending_removal after_all_transition :log_all_events event :accept_approval,after: :log_approval do transitions from: :pending_approval,to: :active end end ... del log_all_events(user) logger.debug "aasm #{aasm.current_event} from #{user}" end def log_approval(user) logger.debug "aasm log_aproove from #{user}" end 您可以使用所需的参数调用事件: @post.accept_approval! current_user (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |