2

Hartl の Railsチュートリアルに従い、RJS を使用して Ajax を実行し、レスポンスで JavaScript を送信してクライアント側で実行し、DOM を編集しました。

しかし、応答で JSON のみを送信し、JavaScript を送信しない場合はどうすればよいでしょうか。これは、DOM を操作するための JavaScript が、クライアントの html ファイルに既に存在している必要があることも意味します。Railsでこれを行う方法について、Hartlのと同じくらい良いチュートリアルはありますか? おそらく、コードが100万行にならないようにするために、Jqueryや私が聞いたことのない他のものを使用するでしょうか?

4

2 に答える 2

2

答えに対する私の最善の試みは、達成しようとしているものの範囲と複雑さに本当に依存するということです。通常、JSON はビューに表示されます。アプリケーションで JSON を動的に取得する必要がない場合、つまり、ビューが最初にレンダリングされるときにすべてをロードできる場合は、ビューのコントローラーでインスタンス変数を次のように設定できます。 @my_json = some_object.to_json() 次に、インスタンス変数をビューで使用できます。

    <script type = 'text/javascript'>
        var theJSON = <%= @my_json %>
    </script>
   

これで、データが DOM で利用可能になり、JSON に適切に解析されます。

コントローラー/ビューが読み込まれた後にアプリケーションで動的に JSON を取得する必要がある場合は、おそらく AJAX を使用して、必要な JSON を返す特定のコントローラーのメソッドをヒットすることを検討する必要があります。

Javascript へのデータの受け渡しに役立つことを願っている優れた RailsCast を次に示します。

于 2012-09-11T23:16:59.660 に答える
0

Rails 3.1 - A Roadmap の Ajax をご覧ください。

于 2013-10-04T16:02:33.143 に答える