Ruby on Rails

Rails Engines とモジュラーアプリ

Mountable engines、isolated engines、namespacing、gem ベースのアーキテクチャ

18 面接問題·
Senior
1

Rails Engine とは何ですか?

回答

Rails Engine は、ホストアプリケーションにマウントできる小さな Rails アプリケーションです。複数のアプリケーション間でコード(models、controllers、views、routes)を共有したり、分離された再利用可能な機能を作成したりできます。Devise、Sidekiq Web UI、ActiveAdmin などの gem は、Rails エコシステムで使われている人気の engine の例です。

2

新しい mountable な Rails Engine を生成するにはどのコマンドを使いますか?

回答

rails plugin new コマンドに --mountable オプションを付けると、独自の namespace、分離された routes、フォルダ構造を持つ完全な engine が生成されます。--mountable オプションはホストアプリケーションから完全に分離された engine を作成します。一方、--full はメインアプリケーションの namespace を共有する非分離の engine を生成します。

3

--mountable engine と --full engine の主な違いは何ですか?

回答

--mountable engine は独自の namespace(module)、独自の helpers、そして設定可能なプレフィックスの下で分離された routes を持ち、完全に分離されています。--full engine はホストアプリケーションの namespace を共有するため、名前の衝突が発生する可能性があります。mountable engine の分離により、engine のクラスや routes がメインアプリケーションの名前空間を汚染しないことが保証されます。

4

ホストアプリケーションの routes.rb ファイルで Rails Engine をマウントするにはどうしますか?

5

Rails Engine における isolate_namespace ディレクティブの目的は何ですか?

+15 面接問題

次の面接に向けてRuby on Railsをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める