複数のファイルを含むテンプレート
一部のプログラミングパターンとフレームワークでは、通常は非常に特殊な構造の関連ファイルのセットが必要です。 例: model-view-controller (MVC) パターンでは、モデル、ビュー、コントローラー用に個別のファイルが必要です。
RubyMine では、子テンプレートをファイルテンプレートに追加することで、関連ファイルのセットを作成できます。 このようなテンプレートからファイルを作成すると、子テンプレートからもファイルが作成されます。
複数のファイルでテンプレートを作成する
設定 ダイアログ(Ctrl+Alt+S )で、 を選択します。
メインファイルテンプレートを作成します。
ファイル タブで、
をクリックして、テンプレートの名前、ファイル拡張子、本文を指定します。
リストから新しいテンプレートを選択し、ツールバーの
をクリックします。 子テンプレートの名前、ファイル拡張子、本文を指定します。
例: 複数のファイルを含むテンプレート
親テンプレートには任意の数の子テンプレートを含めることができ、単一のアクションでそれらすべてを一度に作成できます。 これは、クラスを単独で記述することがない場合に便利です。 ViewComponent は良い例です。常に Ruby クラスと、そのクラスがレンダリングするテンプレートで構成されます。
設定 ダイアログ(Ctrl+Alt+S )で、 を選択します。
コンポーネントクラステンプレートを作成します。
ファイル タブで、
をクリックし、次を指定します:
名前:
Ruby ViewComponent拡張機能:
rbファイル名: このフィールドは空のままにします
テンプレート本体に次のコードを追加します。
#set($part = "") #set($parts = $NAME.split("_")) #set($class_name = "") #foreach($part in $parts) #set($class_name = "${class_name}${part.substring(0,1).toUpperCase()}${part.substring(1)}") #end class ${class_name} < ViewComponent::Base def initialize(title:) @title = title end endファイル名 フィールドが空のため、ファイルは入力したとおりに命名され、テンプレートを呼び出したディレクトリに作成されます。例: アプリ/コンポーネント/example_component.rb 。

テンプレートファイルを作成します。
リストで新しい Ruby ViewComponent テンプレートを選択し、ツールバーの
をクリックします。 次を指定します:
ファイル名:
${NAME}/${NAME}.html拡張機能:
erb
テンプレート本体に次のコードを追加します。
<div class="example-component"> <h2><%= @title %></h2> </div>子テンプレートは親の変数を再利用するため、
${NAME}は両方のファイルで同じ命名結果に解決されます。つまり、テンプレートは親テンプレートが作成するクラスに属します。 子テンプレートには独自の 拡張機能 もあり、これにより単一のアクションで異なる種類のファイルを生成できます。例: アプリ/コンポーネント/example_component/example_component.html.erb 。
変更を適用するには、 OK をクリックします。
新しいテンプレートを使用するには、次の手順を実行します:
プロジェクト ツールウィンドウでディレクトリを右クリックするか Alt+Insert を押し、 Ruby ViewComponent テンプレートを選択します。

スネークケースにファイルの命名を指定します。例:example_component。すると、RubyMine が両方のファイルを作成します。