私はそれらのレシピに従って以下を行いました。
- カスタムモデルを作成する
- このカスタムモデルに画像を追加する
レシピのように発生しないことをいくつか検出しましたが、フォーム、グリッド、検証、画像をアップロードできるように拡張されたフォームでカスタムモデルを動作させると、送信後にこのエラーが発生しました新しいオブジェクトを作成する形式:
An exception occurred while executing 'INSERT INTO app_designer_image (type, path, owner_id) VALUES (?, ?, ?)' with params ["avatar", null, 2]:
画像をアップロードする方法が見つかりません。レシピに従って、
sylius.designer.pre_create
を聴きながらImage Upload Serviceリスナーを定義しましたおよび
sylius.designer.pre_update
しかし、それらのイベントは決してトリガーされず、画像が永続化されるとき、パスが定義されていないため、常に失敗します...
何が起きているかの手がかりはありますか?
OK、問題が見つかりました。イベントリスナーの構成が間違っていたため、リスナーを間違ったイベントにアタッチしました。
私の間違いは、このレシピのすべての手順に厳密に従うことでした。問題は、レシピがに基づいていることです拡張版 既存のモデルの名前。カスタムモデルのイベントの名前の前に
app.
が追加されます。sylius.
の代わりに 。したがって、この例のイベントは
sylius.shipping_method.pre_create
です そして、私のものはsylius.designer.pre_create
ではありません しかし、app.designer.pre_create
。これを修正すると、すべてが期待どおりに動作し始めます。