2016-06-24 4 views
1

Michael Hartl의 RoR 튜토리얼을 따르고 있습니다. 현재 3 장에 있습니다. 제 문제는 제가보기에 내가 볼 수있는 것 같지 않습니다. https://www.railstutorial.org/book/static_pages#fig-raw_home_view. RoR 튜토리얼 (Michael Hartl) URI :: InvalidURIError

가 대신 내가 입력하려고 해요

enter image description here

의 URL을보고 있어요 것은 : "localhost:3000/static_pages/help". application.html.erb은 다음과 같습니다

<!DOCTYPE html> 
<html> 
<head> 
    <title>SampleApp</title> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

내가 그렇게 정말 어떻게 해야할지 모르는 아직 신인입니다.

+0

컨트롤러 액션이 비어 있습니다.보기에는 간단한 문장이 있습니다. 그런 다음 도움말 액션에 액세스하려고합니까? 액세스하려고하는 URL을이 오류로 공유하십시오.이 오류가 발생하면 다른 시나리오를 시도하십시오. – SnehaT

+0

오류로 인해 app/views/layouts/응용 프로그램에 문제가 있다고합니다. html.erb' 파일이므로 게시하십시오. 당신은 어딘가의 길잃은']'을 가지고있는 것처럼 보입니다 ...? –

+0

@SnehaT 내가 접속하려고하는 URL은 http : // localhost : 3000/static_pages/help입니다. http : // localhost : 3000/static_pages/home을 방문 할 때 동일한 오류가 발생합니다. – gregletic

답변

1

앱 이름에 문제가 있습니다.

sample_app] 

Rails.root 응용 프로그램의 디렉토리 경로이며,이 프로젝트의 모든 파일의 위치에 대한 기본 경로로 사용되는 : 이미지의 Rails.root의 오른쪽에, 당신은 앱의 이름이 있음을 볼 수 있습니다.

Rails.rootbad URI으로 표시된 URL에 사용됩니다. URL은 특정 문자 만 포함 할 수 있고 대괄호는 하나도 포함되어 있지 않으므로 URL은 불법입니다.

웹 브라우저가 응용 프로그램 레이아웃에 지정된 CSS 파일을 요청하려고 시도하고 레일스가 Rails.root를 사용하여 요청 URL을 로컬 파일 URL로 변환합니다. 불행히도, 레일스는 파일 찾기에 신경 쓰지 않습니다. 대신 레일스가 URL에 잘못된 문자를보고 오류가 발생하면 레일스가 멈 춥니 다.

+0

내 앱을 실제로 이름이 sample_app로 지정했습니다. 오타 였지만 튜토리얼을 작성한 이후로 문제가되지 않을 것이라고 생각하여 변경하지 않았습니다. – gregletic

+0

@gregletic, 오류는 실제로 괄호가 URL의 잘못된 문자라고 말합니다. 결과적으로 레일스가 Rails.root에서 파일 URL을 생성하면 잘못된 URL 오류가 발생합니다. – 7stud

+0

감사합니다. 오류 메시지가 나타나지 않았지만 문제가 해결되었습니다. 고맙습니다! – gregletic