2016-12-22 7 views
0

比較的新しいRails 5アプリケーションをビルドしています。私はbootsyの宝石を使用していましたが、私はページが更新されるまで、そのページに表示されないという問題が発生しています。しばらく再生した後、application.jsからturbolinksを削除すると、ページが更新されずに初めてWYSIWYGが表示されることがわかりました。私がどのようにしてturbolinksを私のapplication.jsに必要としなければならないか教えてもらえますか?前もって感謝します。Rails 5アプリケーションの `application.js`にターボリンクをどうすればいいですか

application.js:

//= require jquery 
 
//= require jquery_ujs 
 
//= require jquery.turbolinks 
 
//= require bootstrap-sprockets 
 
//= require bootsy 
 
//= require turbolinks 
 
//= require_tree .

application.scss:

@import "bootstrap-sprockets"; 
 
@import "bootstrap"; 
 
@import "bootsy"; 
 
@import "articles";

gemfile:

source 'https://rubygems.org' 
 

 

 
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
 
gem 'rails', '5.0.0' 
 
# Use postgresql as the database for Active Record 
 
gem 'pg', '~> 0.15' 
 
# Use SCSS for stylesheets 
 
gem 'sass-rails', '~> 5.0' 
 
# Use Uglifier as compressor for JavaScript assets 
 
gem 'uglifier', '>= 1.3.0' 
 
# Use CoffeeScript for .coffee assets and views 
 
gem 'coffee-rails', '~> 4.1.0' 
 
# See https://github.com/rails/execjs#readme for more supported runtimes 
 
# gem 'therubyracer', platforms: :ruby 
 

 
# Use jquery as the JavaScript library 
 
gem 'jquery-rails' 
 

 
gem 'jquery-turbolinks' 
 
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks 
 
gem 'turbolinks' 
 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
 
gem 'jbuilder', '~> 2.0' 
 
# bundle exec rake doc:rails generates the API under doc/api. 
 
gem 'sdoc', '~> 0.4.0', group: :doc 
 

 
gem 'simple_form' 
 

 
gem 'bootstrap-sass' 
 

 
gem 'bootsy'

私はbootsyと組み合わせてsimple_formを使用していますので、私のフォームは次のようなものになります。あなたが好きturbolinks:loadイベントを使用する必要が

<%= simple_form_for @article, url: action_path do |f| %> 
 
    <%= f.input :title %> 
 
    <%= f.input :body, label: "Article Body", as: :bootsy %> 
 
    <%= f.submit %> 
 
<% end %>

答えて

0

周りを少し遊んだ後、解決策が見つかりました。私はapplication.jsdocument.addEventListener('turbolinks:load', Bootsy.init);を追加しました。これが問題を解決しました。

0

をthis:

$(document).on('turbolinks:load', ready) 

function ready() { 
    //your code here 
} 

これだけです。

+0

この場合、どのように実装できるかわかりません。 'bootsy'によれば、' simple_form'と一緒に使うことができます。 '%= f.input:body、label:"記事本文 "を:: bootsy%>'のようにするだけです。だからカスタムJSはありません。 :/ – JonSayer

+0

ここであなたのコードを '' 'Bootsy.init'''で置き換えてください –

関連する問題