問題タブ [aasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1031 参照

ruby - AASM: ステート マシン定義をクラス定義から分離する

このクラスがあるとします (aasm のドキュメントから直接取得):

ステート マシンの定義がクラス定義と混在しているという事実はあまり好きではありません (もちろん、実際のプロジェクトでは Job クラスにさらにメソッドを追加するため)。

Job クラスが次のようなものになるように、ステート マシンの定義をモジュールに分けたいと思います。

次に、 app/models/state_machines に次のような内容の job_state_machine.rb ファイルを作成しました。

しかし、AASMはJobクラスではなくモジュールに含まれているため、これは機能しません...モジュールを次のように変更しようとしました:

しかし、まだ機能していません...ヒントや提案は大歓迎です。

ありがとう、イグナツィオ


編集:

Alto のおかげで、正しい解決策は次のとおりです。

そして明らかに、次のようにメイン クラスにステート マシンの定義を含めることを忘れないでください。

0 投票する
1 に答える
666 参照

ruby - AASM を使用してステート マシンでステートをスキップする方法

ruby AASM gem を使用しています。

状態をスキップする正しい方法を知っている人はいますか?

AASM でこれを設定する最良の方法は何ですか?

このコードを一連の resque ジョブで使用しているため、stage1 は resque ジョブであり、状態を更新して次の resque ジョブを開始します。ステージ 2、次にステージ 3 も同様

0 投票する
1 に答える
1501 参照

ruby-on-rails - コントローラーから AASM でトランジションを実行するにはどうすればよいですか?

その名前を使用して AASM でトランジションを安全に実行することは可能ですか?

AASM で現在行っていること:

でできたことstate_machine

0 投票する
1 に答える
523 参照

ruby-on-rails - イベントに渡された引数をaasmでエラーブロックに渡す方法は?

私のイベントは次のように定義されています。

と私は呼んでいmy_instance.share(message, tags)ます。トランジションが許可されていれば、 andで呼び出すinc_in_path_shareのに問題はありません。しかし、トランジションが許可されていない場合、ブロック内でデフォルトのアクションを処理したいと考えています。messagetagsinc_shareerror

メッセージとタグをerrorブロックに渡す方法は? 私が考えている方法も最善ではないかもしれません(XY問題)。ありがとう !