【发布时间】:2012-11-30 02:38:34
【问题描述】:
我正在构建一个简单的食谱应用程序。我有一个按最受欢迎的顺序返回国家列表的方法
class Country < ActiveRecord::Base
def self.top_countries
joins(:recipes).
select('countries.*, count(*) AS recipes_count').
group('countries.id').
order('recipes_count DESC')
end
然后我像这样在视图中输出它
<% @toprankingcountry.each do |r|%>
<ul>
<li><%= link_to r.name %></li>
</ul>
所以这只是列出了我所有的结果
然后我有一个名为 worldrecipes 的单独控制器,其中包含每个国家/地区名称的操作
我要做的是链接到该国家/地区的特定操作(该操作将与该国家/地区命名相同)
作为 Rails 新手,我不确定要阅读哪些资源来实现这一点,最好有一种方法来遍历此逻辑,然后在块中使用该方法?
【问题讨论】:
-
您真的需要针对每个国家/地区采取单独的行动吗?我认为您应该在您的国家/地区控制器中进行动作表演,这就足够了。输入“rake routes”,您将看到类似 GET country ... 的内容。您可以在循环中执行“link_to r.name, country_path(r)”。如果您想在 url 中显示国家/地区名称,请给“friendly_id”gem 一个机会。
-
刚刚意识到 - 请参阅答案下的评论,感谢您的输入,感谢
标签: ruby-on-rails ruby-on-rails-3 methods hyperlink