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.
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.
- https://github.com/vsimonian/polymer-iron-rails
- https://github.com/vsimonian/polymer-paper-rails
- https://github.com/vsimonian/polymer-neon-rails
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"
}
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
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.
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
.