Сохранение записи с записями Has_Many_Through в Rails 5.2 - PullRequest
0 голосов
/ 30 мая 2018

При сохранении записи задания появляется сообщение об ошибке «недопустимые промежутки»:

#job.rb
class Job < ApplicationRecord
    has_many :workspans
    has_many :spans, through: :workspans
end

Я не получил эту ошибку в rails 5.0, но при обновлении не могу связать пролеты,

Данные поступают из довольно стандартной формы рельсов с флажком для каждого промежутка.

#new.html.erb
<%= Span.each do |span| %>
  <%= check_box_tag "job[span_ids][]", span.id %>
<% end %>

Что изменилось и как мне теперь настроить форму, чтобы связать пролеты с@job?

ОБНОВЛЕНИЕ, Деталь

#jobs_controller
  def create
    @job = Job.new(job_params)    
    if @job.save
      flash[:success] = "Job Saved"
      redirect_to  action: :index
    else
      flash[:alert] = "Job Not Saved"
      render 'new'
    end
  end

1 Ответ

0 голосов
/ 30 мая 2018

Из Rails 5.2 belongs_to требуется по умолчанию.Вам нужно упомянуть optional: true, чтобы устранить ошибку.

Связанный PR: https://github.com/rails/rails/pull/18937

Связанная проблема в репозитории Rails: https://github.com/rails/rails/issues/23960

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...