いくつかの静的ページを紹介したい Rails アプリがあります。私のアプリには「パブリック」フェイスと包括的な管理バックエンドの両方があるため、コントローラーを対応するサブフォルダーに移動することにしました。そのため、アプリ/コントローラーには 2 つのサブフォルダーのみが含まれます。
現在、会社のポリシーを含むポリシー セクションを作成しています。
私はこれまでこの解決策を考え出しましたが、うまくいきません
namespace :policy, path: 'politik' do
get 'miljoe'
get 'kvalitet'
get 'kunde'
get 'personale'
end
これにより、次のルートが作成されます。
policy_miljoe GET /politik/miljoe(.:format) policy#miljoe
policy_kvalitet GET /politik/kvalitet(.:format) policy#kvalitet
policy_kunde GET /politik/kunde(.:format) policy#kunde
policy_personale GET /politik/personale(.:format) policy#personale
短いルートと正しいパス。これはすべて素晴らしいですが、例外は... app/controllers/public ではなく、app/controllers でコントローラーを探します。を追加する
namespace :policy, path: 'politik', controller: 'public/policy' do
トリックをしていません。
これまでの私の唯一の「解決策」は、コントローラーを指す偽のリソースルートを作成し、次のような追加のコレクションルートを実行することでした:
resources :policy, path: 'politik', controller: 'public/policy', only: [] do
collection do
get 'miljoe'
get 'kvalitet'
get 'kunde'
get 'personale'
end
end
これは機能しますが、
- appends は明確な理由もなく URL ヘルパーのインデックスを作成するため、policy_miljoe_path の代わりに miljoe_policy_index_path を取得します。
- リソースは安らぎを意味し、これらのページには安らぎが何もないため、奇妙な方法で読み取ります。
/politik/kvalitet
これらの静的ページをルーターで最善/最もエレガントに宣言し、ルーターのディレクトリ構造とは異なるが/public/policy/kvalitet
フォルダー構造で見えるURL構造を維持するにはどうすればよいですか?