我正在使用rails_admin gem而不是数据库中的实际id字段,我只想使用当前的数字,这样管理员就无法查看我的数据库中的实际ID。到目前为止我试过了:
# Fields in Projects model
config.model 'Project' do
@currentId = 1;
list do
field :id do
@currentId
end
field :year
field :title
field :intro
field :description
field :confidential
field :star
field :image
end
@currentId += 1;
end
但是这只显示我的数据库ID。有什么建议吗?
答案 0 :(得分:1)
您可以为此目的执行以下操作。
隐藏字段
list do
configure :id do
hide
end
include_all_fields # all other default fields will be added after, conveniently
end
排除字段
list do
exclude_fields :id
end
格式字段值
list do
field :id do
formatted_value do # used in form views
value++
end
end
include_all_fields # all other default fields will be added after, conveniently
end
答案 1 :(得分:0)
[答案]:只要db确实重置了它的id值(例如:MySql),你就可以这样做:
currentId = 0
# Fields in Projects list
config.model 'Project' do
list do
field :id do
formatted_value do
currentId +=1
end
end
field :year
field :title
field :intro
field :description
field :confidential
field :star
field :image
end
如果数据库继续递增该值,则必须将当前用户作为绑定传递,并且可以在rails_admin的主列表视图中轻松调整id