よろしくお願いします。
Railsを使ってウェブアプリケーションを作っています。
indexアクションで表示されたページに「編集」ボタンを作り、そこからeditアクションに飛んでレコードを編集できるようにしたいのですが、うまくいかずNoMethodErrorが起こります。
エラーで指摘されるメソッドやクラスに心当たりがないので困っています。
関わっているファイルの内容は以下にまとめました。
回答よろしくお願いします。
maincows_controller.rb
Ruby
1コード 2class MaincowsController < ApplicationController 3 def index 4 @maincow = MainCow.order("number") 5 end 6 7 def edit 8 @maincow = MainCow.find(params[:id]) 9 end 10 11end
index.html.erb
HTML
1コード 2<% @page_title = "搾乳牛管理" %> 3<h1><%= @page_title %></h1> 4 5 6<% if @maincow.present? %> 7 <table class = "list"> 8 <% @maincow.each do |maincow| %> 9 <tr> 10 <td><%= link_to maincow.number, maincow_path(maincow)%></td> 11 <td><%= link_to "編集",edit_maincow_path(maincow)%></td> 12 <td><%= link_to "削除", maincow_path(maincow), method: :delete%></td> 13 <td><%= link_to maincow.number,maincow_path(maincow)%></td> 14 <td><%= link_to "編集", edit_maincow_path(maincow)%></td> 15 <td><%= link_to "削除", maincow_path(maincow), method: :delete%></td> 16 17 </tr> 18 <% end %> 19 </table> 20 21<% end %> 22
edit.html.erb
HTML
1<% @page_title = "編集" %> 2 3<h1><%= @page_title %></h1> 4 5<%= form_for @maincow do |form| %> 6 <%= render "form", form: form %> 7 <div><%= form.submit %></div> 8<% end %> 9
_form.html.erb
HTML
1<table class = "form"> 2 <tr> 3 <th><%= form.label :number, "個体識別番号" %></th> 4 <td><%= form.text_field :number, size: 8 %></td> 5 </tr> 6 7 <tr> 8 <th><%= form.label :name, "名号" %></th> 9 <td><%= form.text_field :name, size: 8 %></td> 10 </tr> 11 12 <tr> 13 <th><%= form.label :birthday, "生年月日", 14 for: "maincow_birthday_1i" %></th> %></th> 15 <td><%= form.date_select :birthday,start_year: 2010, end_year: Time.current.year, 16 use_month_numbers: true %></td> 17 </tr> 18</table>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/16 11:49