彼ら、
私は2つのモデルを持っています、Notebook
そしてNote
。ノートはノートブックに属し、ノートブックには多くのノートがあります。
私のアプリケーションでは、非常に一般的な3列のビューがあり、1列目はノートブックを一覧表示し、2列目は選択したノートブックに対応するメモを一覧表示し、3列目は現在選択されているメモの形式を含みます。
Spineでは、リレーションモジュールを使用しませんでした。ユーザーがノートブックを選択するたびに、選択したノートブックget /notebooks/:id/notes
の対応するノートをフェッチしてノートリストをレンダリングするために呼び出します。ユーザーがクリックして新しいノートを作成すると、現在選択されているnotebook_idとノートモデルのSpineオブジェクトを作成します。を呼び出しますsave()
。既存のノートブックで正常に動作します。
ただし、ユーザーが新しいノートブックを作成するときに問題が発生します。ユーザーがクリックしてこの新しいノートブック内に新しいノートを作成した場合、ノートブックの作成ajaxが完了する前に、データベースから実際のノートブックIDを取得していません。したがって、ajaxのコールバックを待つ必要があると思います。そのnotebook create
前に、ユーザーがクリックして新しいメモを作成するのをブロックします。
しかし、Spineのドキュメントから、Alexは次のように述べていますWaiting for a server response goes against the whole concept of an asynchronous user interface
。
それで、これを行う正しい方法は何ですか?私はそれを正しくやっていますか?
どうもありがとう。