Я создаю приложение, в котором пользователи могут создавать списки квартир.default blank для boolean dropdown menu
Форма просит пользователей указать, есть ли плата агента и если квартира меблирована.
В частичной части квартиры (которая визуализируется при создании и редактировании просмотров квартиры) у меня есть два раскрывающихся меню для этих логических переменных (меблировано и agent_fee).
Я проверить, что эти переменные присутствуют в модели проверки:.
class Apartment < ActiveRecord::Base
belongs_to :user
validate :agent_fee_and_furnished_are_present
def agent_fee_and_furnished_are_present
if agent_fee.nil?
errors.add(:agent_fee, "You must specify if there is an agent fee")
end
if furnished.nil?
errors.add(:furnished, "You must specify if the apartment is furnished")
end
end
end
(я создал пользовательскую проверку таким образом FALSE будет разрешено Если я подтверждено наличие переменных, FALSE бы провалить .blank проверьте, что работает ruby.)
Мой вопрос в том, как включить пустой параметр в качестве первого параметра в раскрывающихся списках, которые будут работать в представлениях Create AND edit?
(Я хочу, чтобы это сделать, так что пользователь вынужден выбрать один из вариантов, а не в конечном итоге по умолчанию, потому что это то, что было первым в выпадающем списке)
Я пробовал:
<div class="field">
<%= f.label :agent_fee, "Is there an agent fee?" %><br>
<%= f.select :agent_fee, options_for_select([['Yes', true], ['No', false]]), {:prompt => ""} %>
</div>
Однако, когда это поле отображается в окне редактирования квартиры, появляется пустое приглашение, даже если агент_идель на квартиру в квартире был ЛОЖНЫ. (Кажется, что рельсы выполняют аналогичный .blank-тест, который только отменяет приглашение, если значение TRUE)
Так что, опять же, вопрос в том, как включить пустую опцию в качестве первого варианта в раскрывающихся списках, будет работать в режиме редактирования (и отображается только если переменная agent_fee является NIL, а не FALSE)
к сожалению, это не работает. Когда я использую include_blank, отображается пустой параметр ВСЕГДА, даже если значение было TRUE. Согласно документам в form_options_helper.rb, основное отличие состоит в том, что если выбор уже имеет значение, то: приглашение не будет отображаться, тогда как: include_blank всегда будет. –