簡體   English   中英

將方法合並到link_to rails 3

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM