2012-05-26 59 views
-1

我有3個表格:一個包含疾病,一個包含症狀,一個是多對多的sick_symptom表格。我想添加一個超鏈接從我的疾病頁面,這將導致用戶到一個新的頁面,包含這種疾病的症狀(按字母順序排序)。ruby​​ on rails:添加一個顯示多對多關係的頁面

我是ROR中的新手,所以我不知道將這個新頁面放置在項目樹中的位置以及如何添加路徑。

我已經添加了一個名爲「Pages」的目錄,在該目錄下我放置了我的新文件「symptomsForIllness.html.erb」。此外,我在患病/顯示HTML添加一個超鏈接:

<%= link_to 'Symptoms',symptomsForIllness_path(@illness) %> 

而且我也試過以下路由添加到routes.rb中:

match '/symptomsForIllness_path' => 'Pages#symptomsForIllness' 

我得到以下錯誤:

::的ActionView模板::錯誤(未定義的方法symptomsForIllness_path' for #<#<Class:0x3f1fbc0>:0x32d0060>): 10: <%= link_to 'Back', illnesses_path %> 11: <br /> 12: <%= link_to 'symptoms',symptomsForIllness_path(@illness) %> app/views/illnesses/show.html.erb:13:in _app_views_illnesses_show_html_erb___154118681_26683248' 應用程序/控制器/ illnesses_controller.rb:19:在`顯示」

請問您可以告訴我在目錄樹(表示多對多關係的文件)中放置這些文件的位置以及如何避免此錯誤?

感謝, 李

+0

PLZ讀取軌道路線導向...烏爾都做在一個非常錯誤的方式) –

+0

我讀了它,我還是不要」不知道從哪裏開始。我應該在哪裏放置這個頁面?它應該是獨立的(然後它可以放在頁面目錄下)?我知道我需要在頁面控制器中添加一個方法,我只是不確定這種情況下的約定是什麼......我應該爲這種多對多關係創建一個單獨的控制器嗎? – user429400

+0

http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default –

回答

1
#in routes.rb 
resources :symptoms :only => [:index] do 
    get 'illnesses', :on => :member 
end 

resources :illnesses :only => [:index] do 
    get 'symptoms', :on => :member 
end 

鑑於path_helpers

illnesses_symptom_path(@symptom) #symptoms controller, illnesses action 

symptoms_illness_path(@symptom) #illnesses controller, symptoms action 
+0

謝謝,path_helpers是自動生成的,不是嗎?另外,我可以看到爲我的項目生成了哪些path_helpers? – user429400

+0

在控制檯寫入耙路線 –