如何定义链接路径

时间:2016-04-19 02:49:40

标签: ruby-on-rails ruby-on-rails-4 path associations link-to

我试图弄清楚如何使用Rails 4创建一个应用程序。我一直在坚持基本的东西,我似乎无法确定未来使用的原则。

我有个人资料模型和行业模型。协会是:

资料:

has_and_belongs_to_many :industries, join_table: 'industries_profiles'

行业:

has_and_belongs_to_many :profiles, join_table: 'industries_profiles'

在我的个人资料展示页面中,我现在正试图链接到行业页面:

<% @profile.industries.limit(5).each do |industry| %>

    <%= link_to industry.sector.upcase, industry_path(@industry) %> 

<% end %>   

我无法找到适用于此链接的任何内容。

我尝试了以下内容:

industry_path(@profile.industry)
industry_path(@profile.industry_id)
industry_path(industry)
industry_path(profile.industry)
industry_path(industry.id)
industry_path(industry_id)

但所有这些都是猜测。我不知道如何准备API基座,因此我无法理解其任何内容。

任何人都可以看到如何链接到HABTM协会另一侧的节目页面以获得单个记录吗?

1 个答案:

答案 0 :(得分:0)

您可以通过在命令行中运行rake routes | grep industry来获取路由列表,这将为您提供一个包含前缀,操作和uri模式的表。例如:

   industries GET    /industries(.:format)           industries#index
              POST   /industries(.:format)           industries#create
 new_industry GET    /industries/new(.:format)       industries#new
edit_industry GET    /industries/:id/edit(.:format)  industries#edit
     industry GET    /industries/:id(.:format)       industries#show
              PATCH  /industries/:id(.:format)       industries#update
              PUT    /industries/:id(.:format)       industries#update
              DELETE /industries/:id(.:format)       industries#destroy

在您的情况下,您应该查看show路径。哪个是行业,您将_path附加到上面的任何前缀的末尾,结果为industry_path。因为在定义循环时已经声明了变量industry,所以可以使用它而不是实例变量。

简短回答:industry_path(industry)