我有一条命名路线:
resources :groups do ... end
群组使用StringEx gem:
覆盖to_param方法acts_as_url :name, sync_url: true
def to_param
url
end
大多数时候,我可以通过传递一个小组来调用它:
group_path(g)
但有时候(我无法找到关于情况的明确链接)它给了我这个:
ActionController::RoutingError (No route matches {:action=>"show", :controller=>"groups", :id=>#<Group id: 121, name: "Example", kind: "ex" ...
看起来它不是在调用to_param,只是调用to_s或检查组。
知道发生了什么事吗?这非常令人沮丧。