我有一个对象Foo,它具有字段ID和令牌(两者都是唯一的,都具有db索引)。我希望能够通过在 addition 中转到url“ / admin / foos / token-of-foo-1”进入Foo 1,以便能够使用url“ / admin / foos / 1“。我知道我将需要在routes.rb中执行以下操作,但是遇到了麻烦。帮助吗?
ActiveAdmin.routes(self) # keep this
get 'admin/???', to: 'admin/???' # add ...something
答案 0 :(得分:0)
嗯,有些想法:
#admin/foo.rb
controller do
def find_resource
if params[:id].length == 16 # it's a token
end_of_association_chain.find_by_token(params[:id])
else
end_of_association_chain.find(params[:id])
end
end
end
答案 1 :(得分:0)
出于这种目的,我使用了名为FriendlyID的gem。您可以选择哪些字段应构成网址段,例如token
:
class Foo < ApplicationRecord
extend FriendlyId
friendly_id :token, use: :slugged
end
如果您对配置有更多疑问,请与我联系。它与Active Admin集成良好。