Вложенные поля, вызывающие откат

Поэтому я сталкиваюсь с этой проблемой, когда вложенное поле вызывает откат при отправке. Я использую rails 5.

Вот новые и создать действия контроллера

 def new
    @match = Match.new
    @match.heros.build
 end

 def create
    @match = cur_user.matches.build(matches_params)
    @match.save
  end

Вот парамы

    def matches_params
       params.require(:match).permit(:map, heros_attributes: [:id, :hero])
    end

Упрощенная form_for

= form_for(@match) do |f|
    = f.label :map, value: "Map Played:"
    = f.select "map",
    [["Select Map", 0]

    = f.label :heros, value: "Hero Played:"
    = f.fields_for :heros do |h|
      = h.select "hero",
      [["Select Hero", 0]

  = f.submit "Submit"

В матчах.РБ у меня

has_many :heros, dependent: :destroy
accepts_nested_attributes_for :heros

и в героя.РБ у меня

belongs_to :match

I get a rollback on pressing submit and on running @match.ошибки.full_messages I get [«Heros match must exist»]

Любая помощь была бы очень признательна.

Edit: просмотры в haml.

1 ответ

  1. Множественное число героя-это герои, а не герои. Измените код так , чтобы он указывал heroesвместоheros, и повторите попытку.