Я следовал руководству "Создание модели с помощью текстового поля" (Railscast #57) который работает до сих пор. Однако я заметил, что ни поле выбора, ни поле ввода для нового объекта не проверяются.
Я использую accepts_nested_attributes_for
и validates
для затронутых моделей. Все работало нормально, прежде чем я добавил поля формы. Теперь, когда я отправляю форму без выбора или ввода чего-либо, никаких предупреждений не появляется. Это, конечно, приводит к ошибочным записям в базе данных.
Редактировать 1: я добавил скриншоты форм и модель стажировки.
- Новая форма стажировки со всеми полями и проверкой
- Новая форма стажировки с полями выбора и ввода из руководства
Один пример: при создании новой стажировки я хочу иметь возможность выбрать компанию или создать новую . Я добавил код, как описано в руководстве, но не знаю, что делать с проверкой.
Вот модель стажировки.
class Internship < ActiveRecord::Base
belongs_to :study
belongs_to :company
attr_accessor :new_company_name, :new_company_website
before_save :create_company_from_data
accepts_nested_attributes_for :company, :study
validates :from, :presence => true
validates :till, :presence => true
validates_associated :company, :study
def create_company_from_data
create_company(:name => new_company_name, :website => new_company_website, :kind => false) unless new_company_name.blank?
end
end
Я использую Rails 3.0.5.