2011-04-25 2 views
0

저는 Rails를 처음 사용하고 있으며 기본적인 블로그 애플리케이션을 만들려고 노력하고 있습니다. 그러나 연결하는 데 문제가 있습니다.link_to 문제

세 개의 컨트롤러 (작성자, 페이지 및 정적 페이지)가 있습니다. 그들은 모두 잘 작동하지만 static_pages에 두 페이지로 연결하려고합니다. 그들은 about.html.erbhelp.html.erb입니다. 나는 상단에 네비게이션 메뉴를 만들기 위해 부분을 사용하고있다.

ActionController::RoutingError in Pages#index 

No route matches {:controller=>"pages", :action=>"about"} 

1: <%= link_to 'Homepage', pages_path %> | 
2: <%= link_to 'List of Authors', authors_path %> | 
3: <%= link_to 'About', :action => 'about' %> | 
4: <%= link_to 'Help', :action => 'help' %> 

부분 내 메뉴의 코드는 다음과 같습니다 :

<%= link_to 'Homepage', pages_path %> | 
<%= link_to 'List of Authors', authors_path %> | 
<%= link_to 'About', :action => 'about' %> | 
<%= link_to 'Help', :action => 'help' %> 

내 static_pages 컨트롤러는 다음과 같습니다

class StaticPagesController < ApplicationController 
    def About 
    end 

    def Help 
    end 
end 

이해

나는 다음과 같은 오류를 받고 있어요 그것은 아마도 매우 간단하지만 레일즈와 웹 개발에 익숙하지 않기 때문에 일반적으로 어떤 조언을 할 수도 있습니다. 고마워.

+0

메소드 이름 규칙은'About','Some_Thing','SomeThing' 대신'about','some_thing'과 같은 이름입니다. – Zabba

답변

0

터미널/콘솔에서 레이크 경로를 사용하여 경로를 확인 했습니까? 그렇지 않은 경우 경로 오류와 관련된 문제를 해결할 수있는 좋은 방법입니다.

+0

나는 ' d는 그것을 분류했다. routes.rb를 확인하고 다시 대문자를 사용했습니다! 계속 저를 위로합니다. –

3

간단한 방법으로 동작 방법을 소문자로 지정하십시오. Ruby는 변수 및 메소드 이름에서 대소 문자를 구분합니다.

class StaticPagesController < ApplicationController 

    def about 
    end 

    def help 
    end 

end 
+0

나는 이것을 시도했지만 여전히 같은 오류가 발생합니다. 아마 정말 간단 할 것 같습니다! –

0

당신의 LINK_TO 방법이 StaticPagesController에 액세스하려고 있는지 확인합니다, 당신의 오류가 레일 PagesController를 통해 대한 조치에 대한 URL을 만들려고 시도하고 있음을 나타냅니다 보인다.

ActionView::Helpers::UrlHelper에 대한 문서, 특히 link_to 및 url_for 메소드를 확인하십시오.

+0

부분 메뉴를 다음과 같이 변경했습니다 : <% = link_to 'Homepage', pages_path %> | <% = link_to '저자 목록', authors_path %> | <% = link_to '정보', : 컨트롤러 => 'Static_Pages': 동작 => 'about'%> | 콘트롤러 => 'Static_Pages': 액션 => 'help'%> –

+0

이제 컴파일 오류가 발생합니다 : SyntaxError in Pages # index –