2016-04-19 7 views
4

私は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アソシエーションの他の側のショーページにリンクする方法を誰かが見てもらえますか?

+0

routes.rbファイルはありますか? 'industry_path(industry)'はあなたが使用すべきものです。 –

+0

私は持っています:resources:industries – Mel

+0

私はそれを試してみると、私はリンク上にマウスを置くと、それに正しい業界IDを持つパスを示します。しかし、私はそれをクリックすることはできません - 何も起こりません。 – Mel

答えて

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)

関連する問題