2

私は Rails アプリに取り組んでおり、複数のレイアウトが必要です。

私は解決策を思いつき、ユーザーが独自のプライベート レイアウトをカスタマイズするために Liquid などのテンプレート エンジンを使用してストレスを感じないようにしたいと言いました。私は彼らに素晴らしいレイアウトを選択できるようにしたいと思っています。

ここで、複数のビュー ディレクトリを gem として構築したいので、ユーザー ページがアプリケーション レイアウトを使用していない場合、Rails は選択されたレイアウトの名前を使用して gem からビュー パスをロードし、ロードする適切な gem を見つけます (すべてのレイアウトは簡単にするためにgemの名前で構成されています)

ユーザーが選択したレイアウトに基づいてどのビュー パスを使用するかをレールに伝えるにはどうすればよいですか。さまざまなジェムのジェムに複数のビュー パスがある場合、レールは正確なジェムのビュー パスをロードできます。

4

2 に答える 2

0

これは私の問題を解決するのに役立ち、宝石を作成する必要がなくなりました

prepend_view_path "#{Rails.root}/app/views/customlayout"
于 2013-06-02T16:13:03.400 に答える
0

rails-engine を gem として提供できます。Rails は、アプリケーション内でビューが見つからない場合、エンジンからビューを検索します。ドキュメントを見てください:http://edgeguides.rubyonrails.org/engines.html#overriding-views

于 2013-06-01T21:46:33.513 に答える