Ruby on rails Rails:在不知道对象的情况下获取路径/url';s类(多个模型的站点地图)

Ruby on rails Rails:在不知道对象的情况下获取路径/url';s类(多个模型的站点地图),ruby-on-rails,routing,routes,sitemap,Ruby On Rails,Routing,Routes,Sitemap,我试图在不知道资源是哪个类的情况下获取资源的URL或路径。我的应用程序有很多资源可以呈现页面——比如国家、城市等等——具体来说,我想创建一个网站地图。我宁愿在这个阶段自己建造,也不愿使用宝石 我已经看过这个教程了。作者只需创建一个路由和控制器,然后传递一个实例变量,并在XML视图中循环使用 在雇员再培训局,情况如下: <% @countries.each do |entry| %> <url> <loc>http://yourdomain.com&

我试图在不知道资源是哪个类的情况下获取资源的URL或路径。我的应用程序有很多资源可以呈现页面——比如国家、城市等等——具体来说,我想创建一个网站地图。我宁愿在这个阶段自己建造,也不愿使用宝石

我已经看过这个教程了。作者只需创建一个路由和控制器,然后传递一个实例变量,并在XML视图中循环使用

在雇员再培训局,情况如下:

<% @countries.each do |entry| %>
  <url>
    <loc>http://yourdomain.com<%= country_path(entry) %></loc>
    <priority>0.7</priority>
  </url>
<% end %>
。。。然后在此一个实例变量
@entries
上执行
每个
循环。但是我不知道用什么来代替
国家路径(…)
城市路径(…)
等等


谁能提供帮助?

尝试使用
多态路径
帮助程序:

多态URL帮助器是在给定活动记录模型实例时智能解析命名路由调用的方法


http://yourdomain.com
0.7

完美-就像一种魅力!出于好奇:为什么Rails不全面使用多态URL帮助程序?是否存在相关的性能成本?或者它是一个清晰的东西?不确定,也许你可以看看实现。如果这是一个好的解决方案,请检查此答案。
@entries = [Country.all, City.all, OtherModel1.all, OtherModel2.all]
<% @entries.each do |entry| %>
  <url>
    <loc>http://yourdomain.com<%= polymorphic_path(entry) %></loc>
    <priority>0.7</priority>
  </url>
<% end %>