2014-10-30 3 views
1

저는 Michael Hartl 's rails 튜토리얼 (5 장, 5.3.4 절)을 따르고 있습니다. 모든 경로를 추가했지만 설명하는대로 추적 할 수는 없습니다. 첫째, 주소 표시 줄에 수동으로 입력해야하는지 또는 링크를 클릭하여 작동해야하는지 확실하지 않습니다. 수동으로 입력하면 작동하지만 링크는 그렇지 않습니다. 둘째, 라우팅 테스트는 2 개의 루트 경로를 찾지 못합니다. 오류를 찾으려고했지만 아무 소용이 없습니다. 다음은 루트 경로와 관련된 부분입니다.Rails 튜토리얼 : 경로 구성 후 오류

routes.rb

Rails.application.routes.draw do 
    root    'static_pages#home' 
    get 'help' => 'static_pages#help' 
    get 'about' => 'static_pages#about' 
    get 'contact' => 'static_pages#contact' 

_header.html.erb

<header class="navbar navbar-fixed-top navbar-inverse"> 
    <div class="container"> 
    <%= link_to "sample app", 'root_path', id: "logo" %> 
    <nav> 
     <ul class="nav navbar-nav pull-right"> 
     <li><%= link_to "Home", 'root_path' %></li> 
     <li><%= link_to "Help", 'help_path' %></li> 
     <li><%= link_to "Log in", '#' %></li> 
     </ul> 
    </nav> 
    </div> 
</header> 

site_layout_test.rb이

class SiteLayoutTest < ActionDispatch::IntegrationTest 
    test "layout links" do 
    get root_path 
    assert_template 'static_pages/home' 
    assert_select "a[href=?]", root_path, count: 2 
    assert_select "a[href=?]", help_path 
    assert_select "a[href=?]", about_path 
    assert_select "a[href=?]", contact_path 
    end 
end 

나는이 알아낼 수있을 것 같은 꽤 바보가 된 기분이지만 이것은 나에게 너무 새로운 것입니다. 귀하의 도움에 미리 감사드립니다.

+0

콘솔에 가서 'rake routes'를 입력하고 반환되는 항목을 알려주시겠습니까? –

+0

또한이 링크를 클릭하거나 수동으로 입력 할 때 어떤 결과가 발생합니까? –

답변

1

그냥 'root_path''help_path' 문자열에 연결하면 효과가 없습니다. 그것들은 경로 도우미들, 당신이 부르는 방법입니다.

<li><%= link_to "Home", root_path %></li> 

을 그리고 당신은 유사를 볼 때마다, 그것은 작동합니다 : 여기에

<li><%= link_to "Home", 'root_path' %></li> 

을 : 그냥이를 변경합니다.

+1

Doh! 이전 #에서 #을 * _path 업데이트로 바꿨습니다. 그건 바보 같은 실수 였어. 빠른 답변 감사합니다! – PhotonJohn