Yuki Matsumoto

To be engneer soon / Ruby on Rails

link_toメソッドで新規登録画面へのリンクを作成する

2019-02-19 Yuki MatsumotoRuby on Rails

昨日は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 %>

これで一覧画面から新規投稿へのリンクが完成。

image

そしてついでに新規登録画面から一覧画面に戻る際のリンクも一緒につけます。

<%= 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 %>

これで、新規登録画面から一覧画面に戻るリンクの設置が完了

image2

今回は一覧ページに戻るパスを指定。存在しないパスを使うとエラーが出るので注意が必要。

今回はlink_toを追加してみました。このままバリデーションを追加する処理を書いていきますが、一旦別の記事に書きます。