Update 2020-05-07: This script based on old version Rails, Turbolinks, and Official Linkedin’s Javascript share button.

While implementing Linkedin share-button on my Rails 4 application with Turbolinks enabled, I encounter problem how to reload Linkedin share-button correctly because my code always showing “duplicate in.js loaded, any parameters will be ignored”.

After a little googling, I found that I just need to flush old Linkedin instance by delete IN. Here is my solution to implement Linkedin share-button with Turbolinks in Rails 4.0.0.

Official Implementation

<script src="//platform.linkedin.com/in.js" type="text/javascript">
lang: en_US
</script>
<script type="IN/Share" data-counter="right"></script>

Solution

First, Remove the following script from body tag.

<script src="//platform.linkedin.com/in.js" type="text/javascript">
lang: en_US
</script>

And then load the following script inside the head tag.

# Coffeescript

loadLinkedIn = ->
  delete IN
  $.getScript("//platform.linkedin.com/in.js")
  lang: 'en_US'

$(document).ready(loadLinkedIn)
$(document).on('page:load', loadLinkedIn)