Rails - Как проверить поле, только если другое поле имеет определенное значение?

Я новичок в Rails, и теперь я столкнулся с проблемой, которую не смог решить с моим другом Google :)

В моей форме у меня есть Select с тремя значения: Apple , Banana и Cherry . Если я выберу Apple из выбора, я скрою еще одно поле Select и текстовое поле с некоторым Javascript, потому что, когда выбран Apple , нет необходимости заполнять эти два других поля больше.

Итак, теперь у меня проблема с проверкой моей формы при ее отправке. Я обнаружил похожие проблемы, например, в случае «Проверять поле только в том случае, если другое пустое».

Эта проблема была решена следующим образом:

validates_presence_of :mobile_number, :unless => :home_phone?

Итак, я только что попробовал первое, что пришло мне в голову:

validates_presence_of :state, :granted_at, :if => :type != 1

Но когда я запускаю его, я получаю эта ошибка:

undefined method `validate' for true:TrueClass

Итак, теперь я не узнал, как я могу получить доступ к значениям из созданного объекта ... Заранее благодарим вас за помощь, и я надеюсь, что мой вопрос не так очевиден, как кажется: -)

18
задан TehQuila 13 January 2012 в 10:00
поделиться