0

私はgrailsアプリケーションを書き直して、その3つのドメインがそれぞれ(ほとんど)正しい/RestfulURLであると私が信じているもので利用できるようにしました。これらのドメインの各コントローラーには単一のインデックスアクションがあり、使用されるrequest.methodと、IDが渡されるかどうかに応じて、json応答を送信するか、保存/削除などを行う準備ができています。

gsp側では、jquery、バックボーン、アンダースコアがすべて読み込まれています。私は再確認しましたが、これらは正しく読み込まれ、それぞれのAPIは、スクリプト要素に貼り付けた任意のコードから利用できるようです。

しかし、それにもかかわらず、Backbone.jsに何か有用なことをさせることはまったくできないようです。私は、ドキュメント、少なくとも12のチュートリアル/例、およびここStackoverflowに関する約100のバックボーン関連の質問を読みました。私が確信している唯一のことは、ルーターの機能はこの特定のプロジェクトにはほとんど関心がないということです。

このアプリケーションのグリッドウィジェットとしてDataTablesとjqGridのどちらを使用するかを選択できると言われました。どちらの方法でも好みはありませんが、Backbone.jsを考慮して一方が他方よりも簡単な場合は、喜んで選択します。データをDatatablesにロードすることができましたが、GSPテーブルに直接書き込むだけでした。

バックボーンがこれに最適な選択ではないかもしれないことを私は知っていますが、私はこの問題に関してほとんど選択の余地がありません。正直なところ、Backbone.jsが何を達成しようとしているのか正確にはわかりません。

グリッドウィジェットの行でボタンがクリックされると、関連するレコードが削除されるように、BackboneとRESTのものを結び付ける最も単純で最小限のコードは何ですか?そもそも、関連するデータがグリッドウィジェットにも読み込まれるようにするには、どうすればよいでしょうか。グリッドの一番下の行にある任意のhtml入力からレコードを追加/挿入したり、そこにリストされている既存のレコードを編集したりできるようにするには?

必要なコードは何でも提供できますが、必要とは思われませんでした... Grailsの面を下にして、必要なコードにかなり近づけて、ページが乱雑になるだけだと思いました。とりとめのないことを前もってお詫びします。皆さんが答えるチャンスがある質問にそれを書きながら、洗練しようとしています。

4

1 に答える 1

4

urlモデルおよびコレクションごとに -attribute を定義して、そのモデルまたはコレクションに対応する RESTful URL を表します。これは、単なる文字列または文字列を返す関数のいずれかです。

url: 'path/to/my/collection-or-model' // string

url: function() { // function
  return 'type-of-collection-or-model/' + this.identifyingAttribute 
}

これで、バックエンドへのトレイルが完成しました。次は CRUD (作成、読み取り、更新、削除) です。

model.save() // Saves your model, if it is new this will be a POST request, otherwise PUT

model.fetch() // Retrieves your model from the backed, this will be a GET request

model.destroy() // Destroys your model and removes it from the backed as well, a DELETE

-関数を使用してコレクション全体を取得することもできcollection.fetch()ます。バックボーンと CRUD 操作に関する正確な情報を得るのに最適な場所はbackbonejs.orgです。より豊富な例のチュートリアルが必要な場合は、バックボーンの優れた Wine-Cellar チュートリアルの CRUD 部分を参照してください。

お役に立てれば!

于 2012-07-16T15:52:39.417 に答える