Проблема возникает, когда вы создаете символическую ссылку на каталог движка и переходите туда по следующей ссылке:
cd path/to/somewhere
rails _4.2.10_ plugin new myengine --full
ln -s path/to/somewhere/myengine ~/favorite/myengine
cd ~/favorite/myengine
./bin/rails g
Если вы это сделаете, вы столкнетесь с ошибкой. Чтобы устранить проблему, измените некоторые строки в верхней части bin/rails
следующим образом:
# from
ENGINE_ROOT = File.expand_path('../..', __FILE__)
ENGINE_PATH = File.expand_path('../../lib/myengine/engine', __FILE__)
# to
require 'pathname'
ENGINE_ROOT = Pathname.new(__FILE__).realpath + '../..'
ENGINE_PATH = ENGINE_ROOT + 'lib/myengine/engine'
См. Реализацию ::Rails::Engine.find
о том, почему исправление работает.