前提
rails初心者です
railsで面接内容をメモするアプリを作成しています。
面接を受ける人のテーブルがあって、そこの内容を受付の人がまず入力し、その後に面接官が追記するようなものを想定しています。
コントローラー
・entrances_controller.rb
・interview_controller.rb
モデル
・applicant.rb
実現したいこと
railsの同一名を使うという大原則を無視してモデル名と異なるコントローラーを作ってしまった為、話が厄介になっているのだと思います。今は受付人コントローラーと面接官コントローラーのみですが、同じモデルを操作するコントローラーを増やしたいと考えているので、あまり一つのモデルと一つのコントローラーにまとめ、コントローラーにメソッドを大量に盛り込むというのが気が進まないですがその方が楽ですかね。。。?
ここで質問するのが初めてなので足りない情報などがあったらすみません
発生している問題・エラーメッセージ
エラーメッセージ ActiveRecord::RecordNotFound (Couldn't find Applicant without an ID):
該当のソースコード
routes.rb
ruby
Rails.application.routes.draw do resources :entrances resources :interviews...
interviews/edit.html.slim
slim
= form_with model: @applicant, url:'interviews/update', local: true do |f| .form_group = f.label :family_name = f.text_field :family_name, class: 'form-control', id: 'family_name' ... = f.submit nil, class: 'btn btn-primary' ...
interviews_controller.rb
ruby
class InterviewsController < ApplicationController def index @applicants = Applicant.all end def edit @applicant = Applicant.find(params[:id]) end def update applicant = Applicant.find(params[:id]) applicant.update!(params) endend ...
ruby 3.1.0p0
Rails 7.0.3.1
0 コメント