Ruby on Rails| String -> ActiveAdmin中的链接

2q5ifsrm  于 2023-06-29  发布在  Ruby
关注(0)|答案(1)|浏览(125)

我的ROR模型中有一个SQL函数

def permit_needing_maps_link
rows = ActiveRecord::Base.connection.exec_query("select dbo.NeedMapsList(#{self.CONO})").rows
rows.flatten![0] if !rows.empty?
end

返回逗号分隔的字符串,如“1234,5678,9012”
目前在admin/中将结果作为侧边栏显示,如下所示:

sidebar :permits_needing_maps, only: :show do
resource.permit_needing_maps_link
end

这对于数据的表面处理是很好的。但问题是,我现在如何迭代该字符串并将其转换为ActiveAdmin链接:
admin_well_master_path('1234 ')、admin_well_master_path('5678')、admin_well_master_path('9012 ')等。
我可以更新函数,或者在代码中循环。开放的公约。TIA

vpfxa7rd

vpfxa7rd1#

好的,理解你的问题,希望你从resource.permit_needing_maps_link接收id数组

Ex: ['123', '232', '234'],

您可以对侧边栏代码进行这些更改

sidebar :permits_needing_maps, only: :show do
    ul do
      resource.permit_needing_maps_link.map { |id| li link_to id, admin_well_master_path(id) }
    end
end

说明

当我们从resource.permit_needing_maps_link中获取id数组时,如['123', '234', '234']
因此,在侧边栏中,我打开了一个ul标记,resource.permit_needing_maps_link上的用户map将返回a标记的li
目前我已经保持了名称的a作为id本身,这是你的电话作出改变
谢谢。希望您能找到类似的结果,如有错误,请在备注中协调。

相关问题