問題タブ [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.
ruby-on-rails - aasmでのみ特定のトランジションのコールバック後に設定する方法は?
私は2つのイベントを持っています:
event1 でのみ最初のトランジションのコールバック後に設定するにはどうすればよいですか? (他のイベントへの 2 番目のトランジションを置き換えることはできません)
私は試した
しかし、それは機能していません
ruby-on-rails - ユーザーが設定した状態と遷移で AASM を使用する方法はありますか?
レールで AASM を使用しており、問題の解決策を探しています。ユーザーが構成したステート マシン システムを作成する必要があります。
次のシナリオを想像してください。
- ユーザーが州の CRUD ページにアクセスする
- ユーザーは、プロジェクト モデルの新しい状態 X と新しい状態 Y を作成します。
- ユーザーは、プロジェクト モデルの状態 X から状態 Y への遷移を作成します。
- ユーザーがプロジェクトのショーページにアクセス
- ユーザーは、プロジェクト モデル用に作成した状態を切り替えることができます
AASM を使用してこれらのケースを実装する簡単な方法はありますか?
私は次のようなものを想像しました:
ruby-on-rails - current_user によって保護された AASM
ユーザー ロールごとにイベント アクセスを制御するガードを AASM で設定することはできますか?
これはかなり一般的な使用例のように思えますが、十分に合意された答えが見つかりません。多くの人は、パーミッション ロジックをコントローラーに保持することを提案しているようです。これは確かに機能しますが、ステート マシン ロジックを複数のコントローラーにブリードすることを意味します。これにはいくつかの理由がありますが、最も重要なのは、SM を更新する際に、モデルと共に変更するすべての使用箇所を見つける必要があることです。
私が思いついた解決策は機能しますが、誰かがより良い解決策を見つけた場合、私は非常に興味があります.
私の解決策:
私のAASMクラスには、次のものが含まれています。
これにより、コントローラー内で次のことが可能になります。
現在のユーザーに対して、またはその代わりに確認するには;
デフォルトのユーザーと照合します。
これは、この問題にアプローチする最良の方法ですか? 誰かがより良い提案をしていますか?
ruby-on-rails - Rails AASM ヘルパーは、リンクがどの状態に移動するかを示します。メソッド呼び出しのプレフィックス
may_run?
AASMでは、AASM のサンプル コードで as を呼び出すことができます。
物体:
例
may_
オブジェクトとアクションをパラメーターとして渡す場合、アクションをテストするヘルパーを作成するにはどうすればよいですか。基本的に、次のようなヘルパーを使用して、メソッド呼び出しにプレフィックスを追加したいと考えています。
ruby-on-rails - aasm ruby gem: 制限のないスーパーユーザー
aasm gemを使用した次のモデルを考えます。
Web アプリケーションには 2 種類のユーザー (通常のユーザーとスーパー ユーザー) がいます。必要なイベントを呼び出すことができるスーパー ユーザー タイプが必要です。state=cleaning のジョブで #run を呼び出すようなものです。
したがって、私が理解しているように、実行時にトランジションを解決する必要があります。ユーザーがスーパーユーザーの場合、fromはすべての状態になりますが、ユーザーがスーパー ユーザーでない場合は、それぞれの状態が異なります。
それを行うためのきれいな方法はありますか?あなたはなにか考えはありますか?
ruby-on-rails - Railsのaasm列の意味は何ですか
私はレールが初めてで、このコードを持つ1つのプロジェクトを行っています
aasm_columnは何を意味し、これを行うための陳腐さは何ですか