サービスからデータを取得し、そのデータを Bean オブジェクトに設定しています。ビューで同じデータを使用して、レール ビューのフォームに表示したいと考えています。ここで、バックボーンを使用してこのフォームを検証したいと思います。
私は Rails と Backbone の両方が初めてです。
これをどのように進めるかについてのアイデアを教えてください。
サービスからデータを取得し、そのデータを Bean オブジェクトに設定しています。ビューで同じデータを使用して、レール ビューのフォームに表示したいと考えています。ここで、バックボーンを使用してこのフォームを検証したいと思います。
私は Rails と Backbone の両方が初めてです。
これをどのように進めるかについてのアイデアを教えてください。
おそらく、Web アプリケーションの仕組みについて混乱していると思います。バックボーンはクライアント側のフレームワークです。ユーザーのブラウザで実行される Javascript コードを使用します。Rails はサーバー側のフレームワークです。サーバー上で実行される Ruby コードを使用します。
以上のことから、バックボーン コードと Rails コードは定義上、完全に分離する必要があります。この 2 つは、次の 2 つの方法でのみ通信できます。
1) Rails コード<script>
はページ (.html.erb ファイル内) にタグを書き込み、そこに変数データを配置できます。例えば:
<script>
var myVarFromRails = '<%= someRailsVariable %>';
</script>
それがサーバーから戻ってきたとき(つまり、ページのソースを表示したとき)、次のように変換されます。
<script>
var myVarFromRails = 'foo';
</script>
(「foo」が の値であると仮定しますsomeRailsVariable
)。
2) Javacript コードは Rails URL への AJAX リクエストを作成でき、Rails コードがそこに吐き出すものは何でも、AJAX リクエストへの応答として返されます。つまり、次のことができます。
$.ajax({url: someRailsUrl, complete: function(response) {
// whatever the server sent back will be inside the "response" variable
}});
それ以外は、この 2 つはほぼ完全に別物であり、両方で同じことを行いたい場合 (フォームの検証など) は、コードを 2 回 (Ruby 用に 1 回、Javascript 用に 1 回) 書く必要があります。
「本質的に」と言ったのは、Rails プラグインが 1 番と 2 番をさまざまな方法で行うためです。私は Rails の専門家ではありません。たとえそうであったとしても、非常に多くのプラグインが存在するため、何が存在し、何がコードベースにとって意味があるかを自分で探す必要があります。
それが役立つことを願っています。
* 編集 *
ライブラリをリストしないと言ったのはわかっていますが、開始するために少なくともいくつかを提供した方が役立つことに気付きました。これらをカノンと見なさないでください。それらは現時点で人気のあるライブラリにすぎませんが、適切である場合とそうでない場合があります。
最後の 2 つは、実際にはライブラリではなく、本/プレゼンテーションですが、役に立つかもしれないと思いました。