一つのフォームで複数のモデルのレコードを更新できるように実装したいのですが、labelの表記がうまく反映されません。
time_tablesテーブル
のレコードとartistsテーブル
のレコードを同時に保存したいため、モデルとコントローラーは以下のコードにしています。
ruby
1class TimeTable < ApplicationRecord 2 has_many :schedules # 複数のScheduleを持っている(中間テーブル) 3 has_many :artists, through: :schedules # 複数のArtistを持っていて、中間モデルにSchedulesがある 4 belongs_to :user # Userモデルに属している 5 6 validates_associated :artists # Artistモデルのバリデーションを実行 7 accepts_nested_attributes_for :artists, allow_destroy: true # Artistモデルを更新、削除刷ることができる 8end
ruby
1def new 2 @time_table = TimeTable.new 3 10.times do 4 @time_table.artists.build 5 end 6 end 7
一括登録の仕方がわからなかったのでtimes.doを使い、artistテーブル
のモデルを10回作成しようとしています。
erbファイルは以下のように記載しているのですが、ループ文が使われているため、フォーム欄は複数できるのですが、ラベルの表記が全部同じになってしまいます。
html
1# 抜粋 2 <div class="form-row"> 3 <%= f.fields_for :artists do |a| %> 4 <div class='form-group'> 5 <%= a.label :name, '10:00' %> 6 <%= a.text_field :name, class:'form-control' %> 7 </div> 8 <% end %>
ラベルだけループさせずに、それぞれのフォームに合わせたラベルを作成したいのですが、どのように実装したらよいかわからないので、教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー