Pase datos de las vistas de Rails a los componentes de VueJS en el webpacker

Estoy tratando de jugar con la nueva joya webpacker de Rails 5.1, junto con VueJS, pero no puedo obtener mis vistas erb para pasar datos a los componentes de VueJS ...

Digamos que tengo una vista de show de usuario

# view/users/show.html.erb
<%= javascript_pack_tag "user-card" %>
<%= content_tag :div,
  id: "user-card",
  data: {
    username: @user.name
  } do %>
<% end %>

Y mi javascript:

// app/javascript/packs/user-card.js
require("user-card")

// app/javascript/user-card/index.js
import Vue from 'vue/dist/vue.esm'
import UserCard from './components/UserCard'

document.addEventListener('DOMContentLoaded', () => {
  let element = document.getElementById("user-card")
  let username = element.dataset.username
  console.log(username); // => "pecpec"

  const app = new Vue({
    el: element,
    template: '<UserCard/>',
    components: { UserCard },
    data () {
      return { username }
    }
  })


// app/javascript/user-card/components/UserCard.vue
<template>
  <div>
    <h3>Hello {{ username }}</h3>
  </div>
</template>

<script>
export default {
  props: ['username'],
  data () {
    return {
      username: ""
    }
  }
}
</script>

He pasado algunas horas sobre esto, por ahora, pero ninguno de mis intentos ha tenido éxito. Intenté pasar los datos al componente como accesorio:props: ['username'], montaje del componente con

Vue.component(UserCard, {
  props: ['username']
  // or
  data () {
    return { username: username }
  }
})

... pero eso tampoco funcionó

Actualización: me faltabaprops: ['username'] en el componente y actualizó el código anterior en consecuencia, aunque eso no parece haber hecho una diferencia. Todavía no hay suerte!

Respuestas a la pregunta(1)

Su respuesta a la pregunta