ruby-on-rails – ActiveAdmin:选择下拉列表默认为开发中的当前值,但在生产中默认为空

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ActiveAdmin:选择下拉列表默认为开发中的当前值,但在生产中默认为空前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下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

当我在编辑视图中使用此表单时,选择下拉菜单自动默认为当前值.然而,在生产中,下拉菜单由于某种原因默认为顶部的空白值(为什么空白值呢?).

编辑

问题似乎是ActiveAdmin不明白关联,并且默认情况下无法选择关联的对象.我需要弄清楚如何为该关联编写f.input.表单用于“时间表”.时间表has_many JobsAssignedWorkers和每个JobsAssignedWorker都有一个Worker.

解决方法

如果要包括空值:
f.input :jobs_assigned_worker,label: 'Worker',collection: -> { Worker.pluck(:name) },include_blank: true

如果不想包括空值:

f.input :jobs_assigned_worker,include_blank: false

如果你想拥有空值,但不想让它作为一个选择:

f.input :jobs_assigned_worker,include_blank: true,allow_blank: false
原文链接:https://www.f2er.com/ruby/265857.html

猜你在找的Ruby相关文章