rails初心者です。TeacherとPrefectureを多対多の関係にしたかったので、中間テーブルを使ったのですが、Teacher.prefecture.idsに値を入れようとするとundefined method `[]' for nil:NilClassというエラーが出てしまいます。
@teacher.prefecture_ids = params[:prefecture][:area]
このコードにエラーが出ます。全体的にはこのようにしております
<%= form_for(@teacher) do |f| %> <div class = "field"> <%= f.label :"指導可能都道府県1" %> <%= collection_select(:prefecture, :area, Prefecture.all, :id, :name, {include_hidden: false}, {multiple: true}) %> </div> <div class = "field"> <%= f.label :"指導可能都道府県2" %> <%= collection_select(:prefecture, :area, Prefecture.all, :id, :name, {include_hidden: false} ,{multiple: true}) %> </div> <div class= "field"> <%= f.label :"指導可能都道府県3" %> <%= collection_select(:prefecture, :area, Prefecture.all, :id, :name, {include_hidden: false}, {multiple: true}) %> </div> <%= f.submit "登録" %> <% end %>
def create @teacher = Teacher.new(teacher_params) @teacher.prefecture_ids = params[:prefecture][:area] ←このコードにエラーが出る if @teacher.save! redirect_to teachers_url else render 'new' end end
ご回答のほどよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/07 13:14