1

私はSpine.Stackを使用しており、作成される新しいレコードの[編集]ページに到達するための最良の方法を見つけようとしています。このサイトのspine/railsの例では、@ navigateがインデックスリストに戻っていることが示されていますが、作成したばかりのレコードを編集ページに表示する必要があります。現在私は持っています

item = WorkRequest.fromForm(e.target)
if item.save()
  @navigate '/work_requests', item.id, 'edit' if item 

これで編集ページが表示されますが、モデルはAjaxモデルであるため、サーバーに保存してサーバー側IDを取得しますが、この時点で@navigateitem.idを呼び出すとクライアント側ID(c-##)になります。 )。したがって、私が最終的に到達するURL/work_requests/c-##/editは、サーバー側に相当するものがありません。

私が見る限り、私には2つの選択肢があります

  1. Ajaxが応答するのを待ってから、サーバーで生成されたIDで編集するためにナビゲートします
  2. ナビゲートを呼び出しますが、Ajax保存が応答したら(編集フォームがサーバー側IDで再レンダリングされたときに)URLを更新します。

オプション2は、ノンブロッキングインターフェイスの精神で最も優れているように見えますが、ユーザーがその間に何かをした場合、IDがすべて自分で整理されることを確認する必要があります。オプション1の方が安全に思えますが、ユーザーは保存が完了するのを待ってから編集できるようになります。

補足として; すぐに編集する理由は、1つ以上の子アイテム(請求書の行など)を作成するためであり、これらはすべてネストされたリソースパスを使用します/work_requests/:id/work_request_lines

どんな助けでも大歓迎です、乾杯。

4

0 に答える 0