Хорошо, так что я, вероятно, здесь упускаю что-то очевидное.Я использую rails3-jquery-autocomplete и formtastic , чтобы позволить пользователю выбрать категорию при создании элемента:
class Category < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :category
validates :category_id, :presence => true
end
Я получил это через:
semantic_form_for @item do |form|
form.inputs do
form.input :category_id, :as => :hidden
form.autocompleted_input :category,
:url => autocomplete_category_path,
:id_element => "#item_category_id"
end
end
Это все прекрасно работает и денди;когда пользователь выбирает имя категории, category_id переходит в скрытое поле, и элемент соответствующим образом сохраняется.
Однако у меня возникают проблемы с проверкой, когда пользователь не вводит / не выбирает допустимую категорию.Как правильно проверить следующие случаи:
- Пользователь вводит в поле что-то, что является не допустимой категорией.(это должно завершиться неудачей. Теперь происходит сбой, но встроенные ошибки фактически находятся в скрытом поле)
- Пользователь делает выбор, а затем изменяет значение текстового поля на недопустимую категорию (в результате идентификатор вскрытое поле становится устаревшим. Это также должно завершиться ошибкой, но вместо этого используется устаревший выбранный идентификатор)
Спасибо!