Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 指定ActiveAdmin要使用的单独标识符,而不是模型标识符_Ruby On Rails_Ruby_Activeadmin - Fatal编程技术网

Ruby on rails 指定ActiveAdmin要使用的单独标识符,而不是模型标识符

Ruby on rails 指定ActiveAdmin要使用的单独标识符,而不是模型标识符,ruby-on-rails,ruby,activeadmin,Ruby On Rails,Ruby,Activeadmin,是否可以在ActiveAdmin中为ActiveAdmin指定一个不同的模型列以用于查找记录 ActiveRecord模型设置为使用字符串作为标识符(本例中为唯一的slug) 然而,由于模型关系的工作方式,这意味着配置ActiveAdmin将成为一场噩梦(事情的范围不正确,等等) 所以我只想恢复到在ActiveAdmin中使用记录ID 问题是ActiveAdmin仍然使用模型id作为slug,所以它找不到任何数字id(因为它的matchindID=text) 所以我想告诉ActiveAdmin使

是否可以在ActiveAdmin中为ActiveAdmin指定一个不同的模型列以用于查找记录

ActiveRecord模型设置为使用字符串作为标识符(本例中为唯一的slug)

然而,由于模型关系的工作方式,这意味着配置ActiveAdmin将成为一场噩梦(事情的范围不正确,等等)

所以我只想恢复到在ActiveAdmin中使用记录ID

问题是ActiveAdmin仍然使用模型id作为slug,所以它找不到任何数字id(因为它的matchindID=text)

所以我想告诉ActiveAdmin使用ID而不是模型的标识符

谢谢

----编辑----

ActiveRecord模型具有:

def to_param
  slug
end

它将slug作为唯一标识符返回。

我最终解决这个问题的方法是使用Draper gem并为activeadmin编写管理装饰程序

在我遇到嵌套问题之前,它已经足够好了

因为activeadmin表单不使用诸如“创建”和“编辑”按钮中的装饰器

我最终只是使用了一个没有嵌套的平面结构,这意味着Draper装饰师工作得很好