ページがロードされた後に(AJAXを使用して)呼び出され、コントローラがそれを呼び出すコントローラに応じてページ上の異なるものを更新できる汎用コントローラを作成します。coffeescript内にcoffeescriptを部分的にレンダリングできません
この目的は、ユーザーのカスタム要素を表示しながら、より良いページおよびフラグメントのキャッシュを可能にすることです。
私のフレームワークは、次のようになります。
controllers/general_ajax_controller.rb
views/general_ajax/on_page_load.js.coffee
./_update_some_stuff.js.coffee
コントローラでon_page_load
アクションがロードするためにパーシャルとビューがパーシャルをレンダリングしますどの考え出すのロジックを処理します。
<%= render "update_some_stuff" %>
部分をレンダリングする必要があります。on_page_load.js.coffee
鑑み
私はこのコード(簡略化)を有します。代わりに、私はこのエラーを取得する:私はon_page_load
ビューの拡張子を変更した場合
ActionView::Template::Error (SyntaxError: Reserved word "function" on line 2):
app/views/general_ajax/on_page_load.js.coffee:1:in `_app_views_general_ajax_on_page_load_js_coffee___2304196970850216490_70321203283120'
私は
(コーヒーで、コンパイル済みのJSをサポートしていません)のCoffeeScriptをビューに含める前にコンパイルされていることを考えます.js.erb
に、次にになります。になります。 (奇妙なことに、動作する前にサーバーを再起動する必要がありますか?)
これはcoffeescriptの問題だと思いますか?
サイドディスカッションとして、ダイナミックなスクリプティングに関する私のアプローチについてどう思いますか?
はい、これが問題の原因です。しかし 'render 'の代わりに何をお勧めしますか?update_some_stuff" '?どのように正しくcoffeeScriptの部分を使用するには? – Cristian
私は分かりません。私はこれをまだ必要としていない。私はrespond_toを使ってjavascriptをレンダリングしました。たぶんそこから何らかの条件に基づいてファイルをレンダリングしたり、Railsのパーシャルを使用したりすることができます。 –
私のアイデアは、ファイルをそれぞれ別々のものに分けて、それぞれが独自の機能を持っていて、必要かどうかに応じて個別に読み込むことができるようにすることでした。時折、一度に多くのファイルをロードする必要があるので、レンダリング呼び出しはここでは機能しません。 – Cristian