2017-05-14 1 views
0
<ul id = "subjects"> 
    <% Subject.find(:all).each do |c| %> 
    <li><%= link_to c.name, :action => "show_subjects", :id => c.id %></li> 
    <% end %> 
</ul> 

내 list.html.erb 파일에 코드 스 니펫이 있습니다. ''id '= all'인 Subject를 찾을 수 없습니다. 예외가 발생합니다. 이 경우 어떤 문제가 있습니까? 내가하고 싶은 일은 모든 주제를 하이퍼 링크로 나열하는 것입니다.id = : all - Ruby on Rails

도움 주셔서 감사합니다.

+1

'find (: all)'은 * years *에서 Rails를 사용하는 올바른 방법이 아닙니다. Rails를 배우는 곳이면 그 자원을 포기해야합니다. – meagar

답변

1

문제는 고대 코드를 사용하고 있다는 것입니다. 두 가지 중 하나로 바꾸십시오. 오류

Subject.all.each do ... 

또는

Subject.find_each do ... 

설명 find 자동 ID로 검색하고 아무것도 :all가 유효한 id 아니고, 그래서 찾을 수 없습니다와 제기 및 예외이다.

+1

'find (: all)'이 Rails에서 수년 전에 유효하다는 사실을 지적 해 줄 가치가 있습니다. 또한'link_to' 메소드에 인자를 전달하기 위해 오래된 숙어를 사용합니다. 그는 나에게 오래된 튜토리얼을 따르는 것 같아 보인다. – spickermann

+0

오, 정말 고마워요! 그것은 작동합니다! @spickermann 아마 당신 말이 맞아요, 튜토리얼은 오래되었습니다. 당신이 권장하는 최신 튜토리얼을 가지고 있습니까? – pjdev

+0

Google 'rails hartl tutorial', 즉 표준 튜토리얼은 다소 이상하지 않을 수 있습니다. – Iceman