LoginSignup
7
5

More than 3 years have passed since last update.

【Rails】利用規約とかプライバシーポリシーなど、単純に静的なページへのリンクを貼る方法

Last updated at Posted at 2020-10-13

個人開発をしていると利用規約とかプライバシーポリシーを作りますよね。
そのとき、わざわざそのためにコントローラーを用意して、ルーティングを書いて、、とかめんどくさいですよね。
そんな時は、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

内容を書きます。

tearms.html.haml

 .term-wrapper
    %h1.uk-text-center 利用規約
    %p この利用規約(以下,「本規約」といいます。)は,プロつく!(以下,「当事務局」といいます。)がこのウェブサイト上で提供するサービス(以下,「本サービス」といいます。)の利用条件を定めるものです。登録ユーザーの皆さま(以下,「ユーザー」といいます。)には,本規約に従って,本サービスをご利用いただきます。
    %h2 第1条(適用)
    %ol
      %li 本規約は,ユーザーと当事務局との間の本サービスの利用に関わる一切の関係に適用されるものとします。
      %li 当事務局は本サービスに関し,本規約のほか,ご利用にあたってのルール等,各種の定め(以下,「個別規定」といいます。)をすることがあります。これら個別規定はその名称のいかんに関わらず,本規約の一部を構成するものとします。
      %li 本規約の規定が前条の個別規定の規定と矛盾する場合には,個別規定において特段の定めなき限り,個別規定の規定が優先されるものとします。
    %h2 第2条(利用登録)
    %ol

......(省略)

3.リンクを貼る(完成)

リンクを貼るときは、page_about('terms')などとしてパスを書けます。

home.html.haml

= 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 を作成し、以下のように記述します。

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がなくなっていることが分かります。

最後まで読んでいただきありがとうございます!

日々学習したことをアウトプットしております!!ご指摘などあればコメントいただけますと幸いです!!

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5