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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...