我有一个嵌套路由,我通过在模型中定义to_param函数,重新定义了URL的ID部分,以包含名称(如:永久链接)而不是ID号。这在访问第一个模型时工作正常,但是当访问第二个模型时,它将恢复使用URL中的模型ID。它是功能性的,但是我想在URL中保持一致。
我的路线设置如下:
resources :coins do
resources :questions
end
目前,URL的格式为:
coins/:id/questions/:id
我希望它的形式如下:
coins/:permalink/questions/:id
模型:
class Coin < ApplicationRecord
validates :link_name, :currency_name, presence: true
has_many :questions
def to_param
"#{permalink}"
end
end
我如何重新定义问题路由以便能够执行此操作?
答案 0 :(得分:0)
resources :coins, :param => :permalink do
resources :questions
end