Rails アプリで静的ページを作成する場合は、いくつかのリソースを確認してください。
上記の最後のリンクは実際には静的ページへのリンクなので、ネストに関する質問のより具体的な部分に対処します.
URL をコントローラー アクション (およびビュー) にマップする場合は、単純にルート ファイルに追加できます。名前空間を付けたい場合は:pages
、特定の船名を渡すシンボルの前に名前空間を追加するだけです。
get "ships/:pages" => "static#show"
# so going to www.example.com/ships/titanic
# will show your app/view/static/ships/titanic.html.erb page
代替: 静的ページの Gem
あるいは、思考ボットは、セットアップの一部を処理するhigh_voltageと呼ばれる gem を作成しました。私は使っていませんが、一見の価値があるかもしれません。
ルート上の警告
ただし、あなたが持っているルート エントリでは、意図しない結果が生じる可能性があることに注意してください。あなたが持っているファイルと一致しないルートを誰かが入力すると、エラーがスローされるためです。
このルートに進む場合は、キャッチオールルートを読むことをお勧めします. あなたは出来る:
または、ユーザーにとって最も役立つと思われるその他のもの。
繰り返しますが、これはすべてのエラーをキャッチし、レールエンジンなどの他のアイテムを無視するため、注意事項があります(私が理解していることから)。
代替アーキテクチャ
コメントの回答に基づいてこのセクションを変更できますが、このカテゴリに多数のページを追加したいようです。
これらはすべて船であり、それぞれの周りに同様のデータ ポイントがあると思われるため、この情報をデータベースに保存し、Ship scaffold を作成して通常の Rails プロジェクトのように管理することができます。
これにより、次のことが可能になります。
- 好きなだけ船を保管してください
- テンプレート化された単一の
#show
ページ
を持つ
- これにより、ビューが DRY に保たれ、テンプレートの変更がはるかに簡単になります