Rails + Bower问题与资产路径

时间:2015-12-18 08:23:23

标签: css ruby-on-rails tinymce asset-pipeline bower

我已经安装了“Tinymce”,但是我在rails / assets / bower_components / tynymce-dist

中使用了我的rails应用程序

我在application.js中包含了js资产,它运行正常

//= require tinymce-dist

然后我在application.css中包含css文件

@import 'tinymce-dist/skins/lightgray/skin.min.css'

它有效,但我在rails console中有错误

 ActionController::RoutingError (No route matches [GET] "/assets/skins/lightgray/skin.min.css"):

并在chrome控制台中

GET http://localhost:3000/assets/skins/lightgray/skin.min.css

以这种方式从tinymce脚本调用

skinUrl = tinymce.baseURL + '/skins/' + skin;

看起来像是在调用absolut网址。

一个解决方案是使用Tinymce gem,但我不想这样使用。

如何解决此问题。

1 个答案:

答案 0 :(得分:1)

如果你在Rails应用中使用Bower,那么你会很好地研究Rails Assets

enter image description here

这基本上允许您将支持bower的资产作为宝石包含在内。你只需要在他们的应用程序上搜索相应的gem,然后将gem添加到你的Gemfile:

enter image description here

RA实际上已经TinyMCE-dist

enter image description here

我个人建议使用Rails Assets - 如果您不愿意,我可以删除答案。它将为您提供凉亭的好处和宝石系统的可靠性:

#Gemfile
source https://rubygems.org
source https://rails-assets.org #-> add this line

gem 'rails-assets-tinymce-dist'

然后将以下内容添加到您的JS& CSS资产:

#app/assets/javascripts/application.js
//= require tinymce-dist/tinymce.js

#app/assets/stylesheets/application.css
@import 'tinymce-dist/skins/lightgray/skin'