2012-02-03 1 views
1

Я имею л, как это в моем Gemfileв том числе активов и локаций на драгоценный камень Рельсы 3,2

gem 'plugin', :git => 'git://plugin.git' 

И я хочу, чтобы добавить некоторые активы и локали в мой плагин, так что я должен добавить трактов в Rails :: Engine конфигурации. Так что у меня, как это л в моем init.rb

I18n.load_path += Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'locales', '*.yml')] 
Rails.application.class.config.assets.paths << File.join(File.expand_path(File.dirname(__FILE__)), 'assets') 

И это прекрасно работает для районов, но не так, у меня есть исключение для активов (Rails.application.class.config равна нулю). Итак, каков правильный способ сделать это?

ответ

3

Спасибо @phoet для ссылки. Я смотрю кинуть код из его ссылки и нашел, что это

module JqueryMobileRails 
    class Engine < ::Rails::Engine 
    end 
end 

Поэтому я добавил это в Lib/my_plugin.rb

module MyPlugin 
    class Engine < ::Rails::Engine 
    end 
end 

И это работает!

+0

взял меня на размышления, чтобы понять это – Willian

0

Вы уверены, что вам нужно возиться с рельсовыми дорожками?

Я думаю, что вы можете использовать условную конфигурацию и просто поместить свои активы в lib/assets или vendor/assets, и они автоматически загрузятся.

имеют взглянуть на документы: http://guides.rubyonrails.org/asset_pipeline.html#asset-organization

+0

Но что, если я хочу иметь активы в моем каталоге bundle/plugin/lib/assets? – Ximik

+0

есть ли веские причины для этого? – phoet

+0

У меня есть плагин. В этом плагине есть код ruby ​​и некоторый код javascript. Поэтому я хочу каким-то образом включить этот код javascript в свое приложение. – Ximik