微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/ruby/265857.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐