Rails 3. Условно отображают поля с Formtastic
Я использую ActiveAdmin и Formtastic.
У меня есть форму счета-фактуры, в которой есть раскрывающееся меню отправлений.
form do |f|
f.inputs "Shipment Details" do
f.input :shipment_id, :label => "Shipment", :as => :select, :collection => Shipment.find(invoiceless_shipments, :order => "file_number", :select => "id, file_number").map{|v| [v.file_number, v.id] }
f.input :issued_at, :label => "Date", :as => :datepicker
... more fields ...
end
Я хочу отобразить только меню выбора для отправки, если форма является формой нового счета.
Я не хочу отображать выпадающее меню отправки, если форма является формой редактирования. Поэтому, если форма является формой редактирования, она не будет изменена.
Я думал о том, чтобы сделать что-то вроде
if params[:action] != 'edit'
f.input :shipment_id, :label => "Shipment", :as => :select...
end
но я получаю ошибку DSL.
Ответы
Ответ 1
попробовать
form do |f|
f.inputs "Shipment Details" do
if f.object.new_record?
f.input :shipment_id, :label => "Shipment", :as => :select...
end
...
end
end
Вопрос (частично) ответил ранее здесь: Доступ к объекту формы в formtastic