Qiita初投稿です!
現在ポートフォリオ作成中で、以前Twitterでつぶやいたことを、詳しくまとめて記事にしたかったというのが投稿の経緯です。
今回はタイトルにある通り、コントローラーを追加せずにViewのページを追加する方法です。
自分のポートフォリオでは、ログイン前の画面とログイン後の画面を分けていたので、どうしても7つのアクションではカバーできないな…ということが起こりました。
今回は"top"という名前で新しいページを作ったので、それを例に挙げたいと思います。
実装の手順
- コントローラーに好きな名前のメソッドを定義
- メソッド名と同じ名前のViewファイルを作成
- ルーティングの設定
になります。
コントローラーに好きな名前のメソッドを定義
まずは上記のように追加したいコントローラーに、好きな名前のメソッドを定義します。
メソッド名と同じ名前のViewファイルを作成
次に記述したコントローラーと同じ名前のビューディレクトリに、メソッド名と同じファイルを作成します。
ルーティングの設定
最後にroutes.rbファイルに『 get "コントローラー名/メソッド名" 』 と記述すれば完了です!成功していれば、rails routesした時に新しいpathが出てきています。
* この時に注意することとして、resourcesより上に記述してください。自分はここができておらず、なぜかshowアクションが読み込まれてしまいました…
最後に
これで新しいページを作成することができるはずです!
今後もつまづいたところや、共有したいことを執筆していきます!