index form docs all active ruby-on-rails ruby forms gem activeadmin

ruby-on-rails - form - add activeadmin gem



ActiveAdmin: seleccione valores predeterminados desplegables a valor actual en desarrollo, pero el valor predeterminado es en blanco en la producción (2)

Tengo el siguiente formulario de ActiveAdmin:

form do |f| f.inputs "Timesheet Details" do f.input :jobs_assigned_worker, :label => "Worker", as: :select, collection: Worker.all f.input :worked_time_hours, :label => "Worked Time (Hours)" f.input :worked_time_mins, :label => "Worked Time (Minutes)" f.input :driving_time_hours, :label => "Driving Time (Hours)" f.input :driving_time_mins, :label => "Driving Time (Minutes)" f.input :spent_dollars, :label => "Extra Money Spent" end f.actions end

Cuando utilizo este formulario en la vista de edición, el menú desplegable de selección se establece de manera predeterminada en el valor presente. Sin embargo, en la producción, el menú desplegable es, por alguna razón, el valor predeterminado en el valor en blanco en la parte superior (¿por qué hay ese valor en blanco allí de todos modos?).

EDITAR

El problema parece ser que ActiveAdmin no entiende la asociación y no puede seleccionar el objeto asociado por defecto. Necesito encontrar la forma de codificar la f.input para la asociación. El formulario es para un parte de horas. Un Timesheet tiene muchos Jobs Asignado Trabajadores y cada Jobs AdsTrabajador tiene un Trabajador.


Intenta establecer la opción ''include_blank''.

form do |f| f.inputs "Timesheet Details" do f.input :jobs_assigned_worker, :label => "Worker", as: :select, collection: Worker.all, include_blank: false f.input :worked_time_hours, :label => "Worked Time (Hours)" f.input :worked_time_mins, :label => "Worked Time (Minutes)" f.input :driving_time_hours, :label => "Driving Time (Hours)" f.input :driving_time_mins, :label => "Driving Time (Minutes)" f.input :spent_dollars, :label => "Extra Money Spent" end f.actions end


Si desea incluir un valor en blanco:

f.input :jobs_assigned_worker, label: ''Worker'', as: :select, collection: -> { Worker.pluck(:name) }, include_blank: true

Si no desea incluir un valor en blanco:

f.input :jobs_assigned_worker, label: ''Worker'', as: :select, collection: -> { Worker.pluck(:name) }, include_blank: false

Si desea tener un valor en blanco, pero no desea permitirlo como una opción:

f.input :jobs_assigned_worker, label: ''Worker'', as: :select, collection: -> { Worker.pluck(:name) }, include_blank: true, allow_blank: false