個人開発をしていると利用規約とかプライバシーポリシーを作りますよね。
そのとき、わざわざそのためにコントローラーを用意して、ルーティングを書いて、、とかめんどくさいですよね。
そんな時は、high_voltage
というgemを使います!
実装手順
1.Gemをインストール
Gemfileに'high_voltage'を追記して
$ docker-compose run app bundle install
環境構築でDockerを使っています。Dockerfileやdocker-compose.ymlの書き方によっては、Gemfileを書き換えた場合、buildからやり直す必要があります。この辺のことは今回は割愛します。
2.viewを作る
app/views/pages
ディレクトリがなければ作成します。
$ mkdir -p app/views/pages
リンクさせたいページのファイルを作成、今回は利用規約をhamlで作っていきます。テンプレートエンジンは適時置き換えてください。
$ touch app/views/pages/terms.html.haml
内容を書きます。
.term-wrapper
%h1.uk-text-center 利用規約
%p この利用規約(以下,「本規約」といいます。)は,プロつく!(以下,「当事務局」といいます。)がこのウェブサイト上で提供するサービス(以下,「本サービス」といいます。)の利用条件を定めるものです。登録ユーザーの皆さま(以下,「ユーザー」といいます。)には,本規約に従って,本サービスをご利用いただきます。
%h2 第1条(適用)
%ol
%li 本規約は,ユーザーと当事務局との間の本サービスの利用に関わる一切の関係に適用されるものとします。
%li 当事務局は本サービスに関し,本規約のほか,ご利用にあたってのルール等,各種の定め(以下,「個別規定」といいます。)をすることがあります。これら個別規定はその名称のいかんに関わらず,本規約の一部を構成するものとします。
%li 本規約の規定が前条の個別規定の規定と矛盾する場合には,個別規定において特段の定めなき限り,個別規定の規定が優先されるものとします。
%h2 第2条(利用登録)
%ol
......(省略)
3.リンクを貼る(完成)
リンクを貼るときは、page_about('terms')などとしてパスを書けます。
= link_to '利用規約', page_path('terms')
ルーティングを見てみると、
Prefix Verb URI Pattern Controller#Action
page GET /pages/*id high_voltage/pages#show
となっているのがわかります。
これでとりあえずは利用規約ページは完成します!!
階層を変える
デフォルトだと https://hogehoge.com/pages/terms となるので、これを hogehoge.com/terms
に変えたいときは、config/initializers/high_voltage.rb を作成し、以下のように記述します。
HighVoltage.configure do |config|
config.route_drawer = HighVoltage::RouteDrawers::Root
end
ルーティングを見てみると、
Prefix Verb URI Pattern Controller#Action
page GET /*id high_voltage/pages#show
となっており、pagesがなくなっていることが分かります。
最後まで読んでいただきありがとうございます!
日々学習したことをアウトプットしております!!ご指摘などあればコメントいただけますと幸いです!!