[英]incorporate a method into link_to rails 3
我正在构建一个简单的食谱应用程序。 我有一种方法可以按最受欢迎的顺序返回国家/地区列表
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的新手,我不确定要阅读哪些资源来实现此目的,最好有一种方法可以通过这种逻辑,然后在模块中使用该方法?
a)我建议您不要对您的路线中的每个国家/地区采取行动,因为这确实会使您的route.rb变得混乱。 您可以在路径中定义通配符和参数,但是只有一个操作可以处理不同的国家/地区。
因此,您可以拥有如下网址:/ world / germany,/ world / france但是它们都应该在控制器中调用相同的动作。
b) link_to
接受2个参数。 首先是要显示的标题,第二个参数是url。
因此,您可以像这样链接到排名靠前的国家:
<li><%= link_to r.name, country_worldrecipes_path(r) %></li>
现在,您只需要为country_worldrecipes_path定义正确的路由即可。有关路由的更多信息,请参见此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.