前提・実現したいこと
railsで親レコードと一緒に、複数の子レコードを登録させようとしています。
具体的には、
新しくProjectを作成する際に、そのprojectに所属するMember(複数、数固定)も登録させようと考えています。
発生している問題・エラーメッセージ
ActionView::Template::Error (undefined method `id' for :members:Symbol): <% 8.times do |times| %> -中略- (該当行)<%= f.fields_for('members[]', :members) do |member| %> <%= member.text_field :member_name %>
ここの「undefined method `id'」がどこのidを指しているのか分かりません。
該当のソースコード
view
ruby
1<%= form_for(@project) do |f| %> 2中略 3 <% 8.times do |times| %> 4 中略 5 <%= f.fields_for('members[]', :members) do |member| %> 6 <%= member.text_field :member_name %>
Project(親Model)
ruby
1 has_many :members, dependent: :destroy 2 accepts_nested_attributes_for :members
Member(子Model):”project_id”カラムを持つ
ruby
1 belongs_to :project
controller
ruby
1 def new 2 @project = Project.new 3 @project.members.build 4 end 5 6 def create 7 @project = Project.new(project_params) 8 if @project.save 9 redirect_to @project 10 else 11 render 'new' 12 end 13 end 14
補足情報(FW/ツールのバージョンなど)
ruby 2.4.4
rails 5.1.6
<追記>
登録を段階的にわけることも考えていますが、それは最終手段としたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。