Comment utiliser Polymer (1.0) avec Rails (4)?

maintenant que le polymère (1.0) Est" prêt à la Production " Quelle est la meilleure façon de l'utiliser sur les Rails (4)?

j'ai lu beaucoup et j'ai vu que toutes les solutions sont dépréciées, (par exemple en utilisant des gemmes comme: likepolymer-rails, emcee , etc)

je suis perdu en essayant de créer une bonne structure pour le projet, et la façon d'inclure tous les composants de polymère, aussi je ne sais pas si Sprocket pourrait aider ou pas.

18
demandé sur eveevans 2015-06-04 22:24:13

4 réponses

UPDATE (16 juin 2015):paquet officiel est sorti pour polymer-rails. Merci de voir polymer-elements-rails, qui est le nouveau et officiel dépôt qui inclut iron-,paper- et neon-elements.

je vais garder ces fourchettes en place pour le moment pour toute personne qui peut encore les avoir déjà définies comme une dépendance, mais vous obtiendrez la fonctionnalité identique et le soutien prolongé en utilisant le dépôt officiel, donc je vous invite à passer si vous n'avez pas.


polymère-rails projet a été mis à jour à 1,0, mais malheureusement, les gemmes pour les composants n'ont pas encore. Je suis allé de l'avant et a créé les fourchettes appropriées de sorte qu'Il ya une certaine option de travail dans le - temps.

Votre gemfile devrait avoir:

gem 'polymer-rails'
gem 'polymer-iron-rails', :git => "git://github.com/vsimonian/polymer-iron-rails.git"
gem 'polymer-paper-rails', :git => "git://github.com/vsimonian/polymer-paper-rails.git"
gem 'polymer-neon-rails', :git => "git://github.com/vsimonian/polymer-neon-rails.git"

puis courir bundle.

app/assets/components/application.html.erb vous définissez vos dépendances:

//= require polymer/polymer
//= require iron-ajax/iron-ajax
//= require iron-input/iron-input
.....

app/assets/javascripts/application.js devrait contient:

//= require webcomponentsjs/webcomponents-lite

.bowerrc devrait avoir le répertoire des composants tiers:

{
  "directory": "vendor/assets/components"
}
10
répondu Adaline Valentina Simonian 2015-06-16 21:41:04

il y a quelques mois, j'ai essayé le polymère, j'espère que cela peut vous aider à avoir une idée

GemFile

gem 'rails', '4.0.2'
gem 'polymer-rails'
gem 'polymer-core-rails'
gem 'polymer-paper-rails'

app/assets/composants/de l'application.HTML.erb

 //= require polymer/polymer

app/assets/javascripts/de l'application.js

//= require polymer/platform

Vous montrer .bowerrc fichiers avec le contenu suivant

{
 "directory": "vendor/assets/components"
}

exemple de rendu de vue avec polymar

     <style>
         google-map {
             display: block;
             height: 600px;
         }
     </style>

     <h1>Polymer Rails Example</h1>

     <google-map latitude="37.77493" longitude="-122.41942" fitToMarkers>
       <google-map-marker latitude="37.779" longitude="-122.3892"  draggable="true" title="Go Giants!"></google-map-marker>
       <google-map-marker latitude="37.777" longitude="-122.38911"></google-map-marker>
     </google-map>

     <google-map disableDefaultUI showCenterMarker zoom="15"></google-map>
     <script>
         var map = document.querySelector('google-map');
         map.latitude = 37.77493;
         map.longitude = -122.41942;
         map.addEventListener('google-map-ready', function(e) {
             alert('Map loaded!');
         });
     </script>

vous pouvez jeter un oeil à mon projet en utilisant ploymer, pas un bon codage, mais vous pouvez tout de même obtenir une idée de ce commit Github

0
répondu Rokibul Hasan 2015-06-08 17:56:00

Vous pourriez trouver Rail Assets pour être une belle façon d'ajouter à votre application.

Rail Assets est un proxy Bower pour générer des gemmes à partir de bibliothèques Javascript front end existantes et les installer en votre nom via bundler/your Gemfile. Cela brise votre dépendance sur les emballeurs gem pour garder les bibliothèques Javascript front end à jour.

en gros, vous ajouteriez ceci à votre Gemfile:

source 'https://rails-assets.org' do
  gem 'rails-assets-polymer'
end

alors exécutez bundle install (assurez-vous que le bundler est la version 1.8.4 ou supérieure ou il ne fonctionnera pas avec le snippet mentionné ci-dessus)

Enfin, ajouter //= require polymer à l'endroit approprié de l'application.js.

0
répondu chad_ 2015-06-08 19:39:57

polymer-elements-rails gem a été créé car il n'y a pas de sens/possibilité de les séparer en différents gemmes, car tous ces composants ont des dépendances circulaires. Il est donc à peine recommandé de passer à cette gemme au lieu d'utiliserpolymer-paper-rails,polymer-iron-rails etc. Ils ne seront jamais mis à jour pour Polymer 1.0.

0
répondu Alex Ch 2015-07-27 09:45:27