rails ネストしたモデル create できない
解決したいこと
railsでアプリケーションを作っています。
ネストしたもモデルのクリエイトの仕方がわかりません。三日ほど戦っていますが全く進まないのでどなたか教えてほしいです。ネットで調べてそれっぽいのをすべてためいましたがうまく動きません。
発生している問題・エラー
undefined method `details' for #<Allplan:0x00000246a6407010> Did you mean? detail detail=
details_controller
class DetailsController < ApplicationController
def index
@allplan = Allplan.find_by(id: params[:allplan_id])
@details = Detail.all
@detail = Detail.new
end
def create
@allplan = Allplan.find_by(id: params[:allplan_id])
@detail = @allplan.detail.new(detail_params)
@detail.save
redirect_to allplan_details_path
end
def show
@allplan = Allplan.find_by(id: params[:allplan_id])
@detail = Detail.find(params[:id])
end
private
def detail_params
params.require(:detail).permit(:example, :allplan_id)
end
end
index.html
<h1>スタート</h1>
<% @details.each do |example| %>
<%= example.example %>
<% end %>
<%= form_with(model: [@allplan,@detail], local: true) do |f| %>
<h4>Title</h4>
<%= f.text_field :example %>
<p>
<%= f.submit 'create book' %>
</p>
<% end %>
routes.rb
Rails.application.routes.draw do
root 'allplans#index'
resources :allplans do
resources :details
end
end
detail.rb
class Detail < ApplicationRecord
belongs_to :allplan
end
allplan.rb
class Allplan < ApplicationRecord
has_many :details, foreign_key: 'Detail_id'
end
0