0

addthis (smartlayers) js を Rails 4 アプリケーションに統合しようとしています

コードを 2 つのページに追加しました (例: テンプレートの表示、テンプレートの編集)。

リンクを使用してあるページから別のページに移動すると、アイコンが機能していない

ページを更新すると、アイコンが表示されます。グーグルで調べたところ、ページがターボリンクを使用してナビゲートしていることがレールでわかりました。

私はこれから解決策を試しましたが、解決できません。

ここに私の編集テンプレートがあります

    <h1>Editing product</h1>

<%= render 'form' %>

<%= link_to 'Show', @product %> |
<%= link_to 'Back', products_path %>
<!-- Go to http://www.addthis.com/get/smart-layers to customize -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5270a69567915956"></script>
<script type="text/javascript">
  addthis.layers();
</script>
<!-- AddThis Smart Layers END -->
<!-- AddThis Button END -->

そして私の番組テンプレート

<p id="notice"><%= notice %></p>

<p>
<%= image_tag @product.photo.url(:medium) %>
</p>
<p>
  <strong>Title:</strong>
  <%= @product.title %>
</p>

<p>
  <strong>Sku:</strong>
  <%= @product.sku %>
</p>

<p>
  <strong>Description:</strong>
  <%= @product.description %>
</p>

<p>
  <strong>Price:</strong>
  <%= @product.price %>
</p>


<%= button_to 'Add to cart', line_items_path(:product_id => @product), :class =>"btn btn-success" %>
<%= link_to 'Edit', edit_product_path(@product) %> |
<%= link_to 'Back', products_path %>

<!-- AddThis Smart Layers BEGIN -->
<!-- Go to http://www.addthis.com/get/smart-layers to customize -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5270a69567915956"></script>
<script type="text/javascript">
  addthis.layers();
</script>
<!-- AddThis Smart Layers END -->
4

1 に答える 1

0

私もこの問題を抱えていました.Turbolinksがページを完全にリロードしておらず、本文を取得しているだけなので、JSまたはCoffeeScriptが新しいページに読み込まれていません.

修正するには:

ready = ->CoffeeScript ファイルの先頭に置き$(document).ready(ready) $(document).on('page:load', ready)、ファイルの最後に置きます。

このような:

ready = ->
.
.
.
$(document).ready(ready)
$(document).on('page:load', ready)

Turbolinks GitHubでコードについて読むことができます。

于 2013-10-30T10:54:40.363 に答える