标签: acts-as-state-machine

使用rubyist-aasm(作为状态机)在转换时保持状态列

使用aasm在转换时将对象的状态持久保存到数据库的最佳方法是什么?我原以为这会自动发生,但事实并非如此.

(编辑:当我手动保存对象时,状态列确实会更新.但是在转换时没有保存.)

我找不到这个插件的很多有用的文档,所以如果你有一个有更好的文档的替代有限状态机实现的建议,这可能也有帮助.

ruby-on-rails aasm acts-as-state-machine

8
推荐指数
2
解决办法
3215
查看次数

带参数的回调后的aasm

我在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
  ...
Run Code Online (Sandbox Code Playgroud)

当我调用@post.accept_approval!(:active, current_user)并且触发after回调时,在我的控制台中,我可以检查什么user(已传递到Proc中)及其nil

这里发生了什么?调用此转换的正确方法是什么?

ruby ruby-on-rails aasm acts-as-state-machine ruby-on-rails-4

4
推荐指数
2
解决办法
4148
查看次数

如何将默认AASM状态添加到现有模型

我在rails中有一个现有模型,我想向它添加AASM状态.

根据我的理解,我应该首先通过迁移向我的数据库添加一个状态列,然后将一些状态添加到我的rails模型中.如何根据另一列中的值设置默认状态值?

我在正确的轨道上吗?

ruby-on-rails aasm acts-as-state-machine

3
推荐指数
1
解决办法
2115
查看次数

使用acts_as_state_machine转换方法而不保存

我希望能够利用自动生成的acts_as_state_machine转换方法(例如event!)..但我不希望它立即保存.我正在更新状态作为另一组操作的一部分,所以我不想做双重保存.

有没有办法在没有保存的情况下触发这些事件方法?

ruby ruby-on-rails acts-as-state-machine

1
推荐指数
1
解决办法
396
查看次数