ruby コマンド ライン アプリケーションとフロントエンド用の Rails アプリケーションの 2 つの部分で構成されるアプリケーションを開発しています。
以下の方法で ActiveRecord と Rails モデルを個別に含めることで、Ruby アプリケーションで使用しています。
Dir[File.dirname(__FILE__) + '/../../RailsApp/app/models/*.rb'].each do |file|
filename = File.basename(file, File.extname(file))
require_relative "../../RailsApp/app/models/" + filename
end
そして、依存関係のために2つのほぼ同一のGemfileファイルを手動で維持することによって(私が最善ではないと思うアプローチ)
昨日、Devise を Rails アプリケーションに追加しましたが、Ruby アプリがユーザー モデルをインクルードしようとすると、メッセージundefined method devise for class <xxxxx>
が表示されます。
ruby アプリの Gemfile に devise gem を追加しましたが、エラーが続きます。私の理解が正しければ、Devise は Rails Engine です。そのため、gem を要求しただけではロードされません。
Rails モデルを別のアプリケーション内に含めるためのより良い方法は、environment.rb
ファイルを要求することだと読みましたが、それを試みたところ、ActionMailer でエラーが発生しました。
undefined method `action_mailer' for #<Rails::Application::Configuration:0xbbb54bc>
どうすればdeviseで問題を解決できますか? Rails モデルを別のアプリケーションに含めるには、現在使用している 2 つの gemfile を管理するよりも良い方法はありますか? ありがとう