Как проверить вложенные атрибуты? - PullRequest
0 голосов
/ 23 мая 2018

У меня есть одна форма, которая создает новое свойство с вложенным адресом.Проблема в том, что не выполняется проверка по адресу, когда я оставляю все формы пустыми.Это похоже на то, что система никогда не читает проверку модели адреса, и я даже могу создать новое свойство без заполнения адреса.

У меня есть следующие модели:

property.rb:

class Property < ApplicationRecord
 has_one :address
 accepts_nested_attributes_for :address
end

address.rb:

class Address < ApplicationRecord
  belongs_to :property
  validates :state, :city, presence: true
end

property_controller.rb:

  def new
    @property = Property.new
    @property.build_address
  end

  def create
    @property = current_user.properties.build(property_params)
    respond_to do |format|
      if @property.save
        format.html { redirect_to @property, notice: 'Property was successfully created.' }
      else
        format.html {
             @property.build_address #nedded to show the address inputs again
             render :new }
      end
    end
  end

1 Ответ

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

Внимательно изучив код, я обнаружил, что все работает хорошо, если я отправляю хотя бы один параметр в виде вложенной формы (например, city) и удаляю @property.build_address из действия create.

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