如何使用聚合物(1.0)与Rails(4)?

现在Polymer(1.0)是“Production Ready”哪个是在Rails上使用它的最佳方法(4)?

我看了很多,我看到所有的解决方案都被弃用了(例如使用Gems,比如:likepolymer-rails,emcee等)

我没有尝试为项目创建一个好的结构,以及包含所有聚合物组件的方式,我也不知道Sprocket是否能提供帮助。

更新 (2015年6月16日) :已发布polymer-rails官方包装 。 请参阅polymer-elements-rails ,这是新的官方存储库,包括iron-paper-neon-elements

对于那些可能仍然将它们设置为依赖关系的人,我将暂时保留这些分支,但是你将获得相同的function和使用官方存储库的长期支持,所以我敦促你切换,如果你没有。


聚合物 – 轨道项目已经更新到1.0,但不幸的是,组件的gem还没有。 我已经开始创建合适的叉子,以便在此期间有一些工作选项。

你的gemfile应该有:

 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" 

然后运行bundle

app/assets/components/application.html.erb您可以设置依赖项:

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

app/assets/javascripts/application.js应包含:

 //= require webcomponentsjs/webcomponents-lite 

您的.bowerrc应该设置第三方组件目录:

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

几个月前我曾尝试用聚合物,希望这可以帮助你了解一下

GemFile中

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

app / assets / components / application.html.erb中

  //= require polymer/polymer 

app / assets / javascripts / application.js中

 //= require polymer/platform 

您显示包含以下内容的.bowerrc文件

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

示例视图使用polymar进行渲染

   

Polymer Rails Example

您可以使用ploymer查看我的项目,而不是一个很好的编码,但你仍然可以从这个提交Github存储库获得一个想法

您可能会发现Rails资产是一种很好的方式将其添加到您的应用程序。

Rails Assets是Bower的代理,用于从现有的前端Javascript库生成gem并通过bundler /您的Gemfile代表您安装它们。 这打破了对gem包装器的依赖,使前端Javascript库保持最新。

基本上你会把它添加到你的Gemfile:

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

然后运行bundle install (确保bundler是1.8.4或更高版本,否则它将无法使用前面提到的代码段)

最后,在application.js的适当位置添加//= require polymer

由于所有这些组件都具有循环依赖性,因此没有意义/可能将它们分成不同的gem,因此创建了polymer-elements-rails gem。 所以很难建议切换到这个gem,而不是使用废弃的polymer-paper-railspolymer-iron-rails等。它们永远不会更新为Polymer 1.0