gpt4 book ai didi

ruby-on-rails - ActiveAdmin 如何在下拉列表中显示值但将键存储到数据库

转载 作者:行者123 更新时间:2023-12-05 06:45:02 25 4
gpt4 key购买 nike

如何显示字符串名称,但将整数键保存到事件管理下拉列表中的数据库中?我有这个表格:

form do |f|
f.inputs "Status" do
f.input :status, as: :select, collection: App::STATUSES.keys
end
f.actions
end

产生这个并且工作正常: enter image description here

但我需要它来产生这个: enter image description here

这是生成上图的代码。它显示我想要的值,但不会将键(0、1、2 等)保存到数据库

form do |f|
f.inputs "Status" do
f.input :status, as: :select, collection: App::STATUSES.values
end
f.actions
end

我试过了,但没用:

form do |f|
f.inputs "Status" do
f.input :status, as: :select, collection: App::STATUSES.values, :label_method => :status_name
end
f.actions
end

这是我的模型:

IN_PROGRESS = 0 #default
SUBMITTED = 1
REVIEW = 2
PENDING = 3
APPROVED = 4
LIVE = 5


STATUSES = {
IN_PROGRESS => 'in progress',
SUBMITTED => 'submitted',
REVIEW => 'review',
PENDING => 'pending',
APPROVED => 'approved',
LIVE => 'live'
}

def status_name
STATUSES[status].to_s
end

status_name 方法在我的应用程序中运行良好,只是在显示下拉菜单时由于某种原因没有被调用。

最佳答案

尝试使用你的散列作为集合(或反向散列)

 f.input :status, as: :select, collection: App::STATUSES.invert, :label_method => :status_name

关于ruby-on-rails - ActiveAdmin 如何在下拉列表中显示值但将键存储到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26811425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com