Просто из любопытства... в моем предыдущем сообщении Rails3.1: не может заставить SLIM или HAML работать в тестовом/фиктивном приложении Я спросил, где чтобы сообщить Ruby использовать какой-то камень в моем приложении test/dummy
.
Ответ (очевидный?) заключался в том, чтобы просто поместить его в Gemfile моего Engine. Это работает, но мне это немного неудобно, потому что в Yehuda Katz 'Post Разъяснение ролей .gemspec и Gemfile он упоминает, что...
... при разработке драгоценного камня Gemfile "gem Gemfile должен содержать источник Rubygems и одну строку gemspec".
С другой стороны, в моем Gemfile Engine (который был сгенерирован с использованием Rails rails plugin new my_engine
):
# jquery-rails is used by the dummy application
gem "jquery-rails"
Итак, это кажется правильным. Обновление: нет, это не так! Посмотрите на мой ответ ниже...
Тем не менее, qaru.site/info/306595/... Я вижу, что решение для этого, как говорят, просто требует необходимый камень в config/application.rb
, а https://stackoverflow.com/info/5159607/rails-engine-gems-dependencies-how-to-load-them-in-the-application, которые, по его словам, лучше всего помещаются в lib/<your_engine>/engine.rb file
.
И вот моя мысль: почему приложение test/dummy
просто автоматически требует всех Gems, указанных в файле .gemspec
? Мы даже рассказываем о драгоценных камнях, которые можно использовать для производства, и которые для режима разработки явно используют add_dependency
и add_development_dependency
, поэтому я не вижу причин, почему test/dummy
не делает этого.
Итак, вот последний вопрос: где именно я должен сказать Ruby использовать драгоценный камень в моем приложении test/dummy
? Я НЕ ХОЧУ НАПРАВЛЯТЬ РУБИ, ЧТОБЫ ИСПОЛЬЗОВАТЬ GEM ТАКЖЕ В ПРИЛОЖЕНИИ ПРИЛОЖЕНИЯ.