私はいくつかのjavascriptで設定されたフォームを持っています。私はApp.init()
コードが実行されていませんし、私のアプリケーションがうまく設定されていない部分をレンダリングする場合Rails 4、Turbolinkは部分的レンダリング後にjavascriptを実行します
//app/assets/javascripts/init.js
var ready = function() {
App.init(); //I configure some components of _form.html.erb partial
};
$(document).ready(ready);
$(document).on('page:load', ready);
:javascriptのはTurbolinkによって処理負荷のイベントにロードされています。
//new.js.erb
$("#my-modal").html("<%= j(render 'form') %>");
$("#my-modal").modal("show"); //The partial is inside a modal
パーシャルがレンダリングされた後でコードを実行できますか?このような 何か:私はモーダルフォームをカスタマイズするために、いくつかのjQueryプラグインを設定する必要がbecouseレンダリングされた部分の後JSコードを実行するために必要で
$(document).on('partial:render', ready); //Concept
。
モーダルは、古典的なTwitterのブートストラップモーダルです:
//_form.html.erb
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<div class="row">
<div class="col-sm-offset-3 col-sm-9">
<h3 class="modal-title" id="myModalLabel">new</h3>
</div>
</div>
</div>
<%= simple_form_for(...) do |f| %>
<div class="modal-body">
<ul class="errors"></ul>
<%= f.error_notification %>
<%= render "companies/fields", f: f %>
...
...
</div>
<% end %>
</div>
</div>
"page:load"の代わりに "page:change"を試してみましたか? – bkunzi01
はい、次の回答のコメントを参照してください – user1066183