Couldn't find Habit with 'id'=id < ActiveRecord::RecordNotFound in HabitsController#showのエラー
indexから詳細画面のshowに飛ぶ際、habits/1のようなidを取得したURLにしたいのですが、
URLがhabits/idのようになります。どこに間違いがあるのかわからずつまづいております。
ペーペーな質問で、申し訳ございませんが、助けて頂けると幸甚です!
こちらがindex.htmlです
<% @habits.each do |hb| %>
<table class="habit_table">
<tr>
<td><%= link_to hb.routine, habit_path(:id) %></td>
<td>継続記録<%= hb.days %>日</td>
<td><%= link_to "Edit", edit_habit_path(:id) %></td>
<td><%= link_to "Delete", habit_path(:id), method: :delete, data: { confirm: "Are You Sure to Delete ?"} %></td>
</tr>
habits_controller
class HabitsController < ApplicationController
before_action :find_by_id, only:[:show, :edit, :update, :destroy]
def index
@habits = Habit.all
end
def show
end
private
def find_by_id
@habit = Habit.find(params[:id])
end
def habit_params
params.require(:habit).permit!
end
end
show.html
<h2><%= @habit.routine %></h2>
<table>
<tr>
<td>継続記録<%= @habit.days %>日</td>
</tr>
</table>
rooting
root 'habits#index'
resources :habits