#概要
基本Railsの記法に則り書いていきます!
1から全ての説明ではなく
その中であれ?どうやるの?と
疑問に思った点や実装に困った箇所を
ピックアップして紹介していきます♩
#設定と準備
・Rails
・HTML
・CSS
・Javascript(jQuery)
↑上記の言語とフレームワークを使い
架空(自分で考えたテキトーなもの)のCafeの
HPを作っていこうと思います!
#4日目の作業内容
・トップページから他のページへの遷移(リンク)
#4日目の躓いた箇所
7つのアクション以外を使った
link_toのパスの指定はどうやったらいいの???
今回はトップページ
(views/sample/index.html.erb)から
7つのアクションではない自分でファイルを作った別のページ(views/sample/form.html.erb)に
遷移させると仮定!
<body>
<link_to "formへ遷移", sample/form />
</body>
<body>
<link_to "formへ遷移", sample_form_path />
</body>
こんな書き方かな...とやってみたが全然ダメでした。
#結論
自分でコントローラーにアクションを定義して
それをroutes.rbで使えるようにする必要があった!
まずはアクションを指定!
views/sample/form.html.erbに遷移したいので
sampleコントローラーにformアクションを作ります。
class SamplesController < ApplicationController
def index
end
def form
end
end
indexはトップページへの遷移で作ったもので
その下にformアクションを追加します。
そしたらroutes.rbに自分で作ったアクションを
使えるように追記していきます。
Rails.application.routes.draw do
root 'samples#index'
resources :samples, only: [:index] do
collection do
get 'form'
end
end
end
resourcesに入れ子構造にする形で
collectionを使い自分の作ったformというアクションを
使えるようにしました。
上記ではcollectionですがparamsとして(:id)が必要な場合
特定の情報が必要になる場合などはnumberにしてください。
これで自分の作ったアクションが使えるようになったので
コマンド rails routesでパスの確認!
form_samples GET /homes/contact(.:format) samples#form
このように自分で作ったアクションにしっかりと
パスが存在するのを確認したらlink_toのパスに指定!
<body>
<link_to "formへ遷移", form_samples_path />
</body>
これで無事自分の作ったviewに自分の作ったアクションを使い
遷移させることに成功。