Я хочу написать гем, который, однажды связанный с Gemfile Rails 3.1, включал бы некоторые стандартные файлы CSS и JS.
Я знаю о генераторах, но как я могу сделать это без них, чтобы эффекты драгоценного камня можно было добавлять и удалять без ничего, кроме редактирования одной строки в Rails Gemfile?
В идеале, я бы хотел, чтобы гем был включите его CSS / JS по умолчанию при установке, а затем позвольте пользователю использовать генератор для создания файлов CSS / JS, если они хотят внести какие-либо изменения.
Вот образец драгоценного камня, который я скопировал из jquery-rails , который включает файлы javascript без генераторов.
css_gem/
lib/
css_gem.rb {1}
css_gem/
engine.rb {2}
app/
assets/
stylesheets/
css_gem/
index.css {3}
base.css {4}
{1} lib / css_gem.rb
module CssGem
require "css_gem/engine"
end
{2} lib / css_gem / engine.rb
module CSSGem
class Engine < Rails::Engine
end
end
{3} app / assets / stylesheets / css_gem / index.css
/*
*= require base
*/
{4} app / assets / stylesheets / css_gem / base.css
.custom { color: red; }
Rails Gemfile
gem 'css_gem', :path => 'path_to_my_local_gem'
У меня это не работает, и Rails не видит файл CSS. Что я делаю не так?
Решение: К счастью, я нашел видео, в котором я держу себя за руку: http://house9.blogspot.com/2011/06/rails-31-asset-gem.html
Мне все равно пришлось вручную добавить * = require css_gem
в мой манифест таблицы стилей Rails (app / assets / таблицы стилей / application.css). Да.