rub*_*atz 0 sitemap routing routes ruby-on-rails
我试图获取资源的URL或路径,而不知道它是哪个类.我的应用程序有很多资源可以呈现页面 - 想想国家,城市等等 - 具体来说,我想创建一个站点地图.我宁愿在这个阶段自己构建它而不是使用宝石.
我查看了本教程http://aspiringwebdev.com/sitemaps-in-rails-in-five-minutes/.作者只是创建一个路由和控制器,然后传递一个在XML视图中循环的实例变量.
在ERB中,它看起来像这样:
<% @countries.each do |entry| %>
<url>
<loc>http://yourdomain.com<%= country_path(entry) %></loc>
<priority>0.7</priority>
</url>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我想要像这样处理5或6个模型.我最好在控制器中执行此操作:
@entries = [Country.all, City.all, OtherModel1.all, OtherModel2.all]
Run Code Online (Sandbox Code Playgroud)
...然后each对这个实例变量进行循环@entries.但我不知道该用什么代替country_path(...),city_path(...)等等.
谁可以帮忙?
尝试使用polymorphic_path帮助器:
多态URL助手是在给定Active Record模型实例时智能解析到命名路由调用的方法.
<% @entries.each do |entry| %>
<url>
<loc>http://yourdomain.com<%= polymorphic_path(entry) %></loc>
<priority>0.7</priority>
</url>
<% end %>
Run Code Online (Sandbox Code Playgroud)
http://api.rubyonrails.org/classes/ActionDispatch/Routing/PolymorphicRoutes.html
| 归档时间: |
|
| 查看次数: |
1043 次 |
| 最近记录: |