link_toメソッドで新規登録画面へのリンクを作成する
昨日はrouteのミスでつまずいてしまい、余計な時間をかけてしまいました。結果としてnew.html.erb
内で参照したテンプレート変数を@idea
-> @ideas
にするというイージーミスでした。何はともあれエラーも解消して「ウシャー!」となったので、先に進みます。
link_toメソッドを追加する
今日はlink_toメソッドを使って一覧画面に新規登録へのリンクを貼り付けようと思います。
link_to
+ “文字列” + 第一引数(アンカーテキスト)第二引数(遷移先URL)の規則で記述します。
<% @ideas.each do |idea| %>
<p><%= idea.title %></p>
<p><%= idea.content %></p>
<% end %>
<%= link_to "Post", new_idea_path %>
これで一覧画面から新規投稿へのリンクが完成。
そしてついでに新規登録画面から一覧画面に戻る際のリンクも一緒につけます。
<%= form_with model: @idea do |f| %>
<p>
<%= f.label :title %>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :content %>
<%= f.text_area :content %>
</p>
<%= f.submit %>
<% end %>
<%= link_to "Back", ideas_path %>
これで、新規登録画面から一覧画面に戻るリンクの設置が完了
今回は一覧ページに戻るパスを指定。存在しないパスを使うとエラーが出るので注意が必要。
今回はlink_toを追加してみました。このままバリデーションを追加する処理を書いていきますが、一旦別の記事に書きます。