2011-08-08 2 views
0

나는 aptana 스튜디오를 사용하여 레일즈에서 루비를 배우고 있습니다. 3. hello.rhtml 뷰를 만들었습니다. 내가보기를 실행하고 원본을 볼 때 자동으로 포함 된 js 파일을 볼 수 있습니다. 내 RHTML 파일은 HTML 마크 업없이 예를 들어Aptana 스튜디오 3은 자동으로 rhtml 파일에 html 마크 업을 포함합니다.

hello world 

빈, 그리고 내가 소스를 참조하면, 난 HTML 문서 타입 등 이미 존재에서 전체 마크 업을 볼 수있는 경우에도 마찬가지입니다. 자동 마크 업 포함을 어떻게 중지합니까?

감사

편집 :

확인을 나는 hello.html.erb 파일을 만듭니다. 내가 출력을 얻을 수 있지만 소스를 볼 때 나는 다음과 같은 결과를 얻을 수, 파일을 저장하고 실행하면 그리고 그 안에

안녕하세요

를이 코드를 넣어. 당신이 볼 경우

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 

    <script src="/javascripts/prototype.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/effects.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/dragdrop.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/controls.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/rails.js?1312799421" type="text/javascript"></script> 

<script src="/javascripts/application.js?1312799421" type="text/javascript"></script> 
    <meta name="csrf-param" content="authenticity_token"/> 
<meta name="csrf-token" content="82LBP1pI5h0QzNW54PYSq/zdkS8kF4Z/nKSUHgKvv1g="/> 
</head> 
<body> 

<html> 
    <head><title>Hello</title></head> 
    <body> 
</body> 
</html> 


</body> 
</html> 

그래서, 나는 HTML 내부에 HTML을 얻고 브라우저에서 내 타이틀 대신에 "Hello"의 "데모"를 표시 할 때

업데이트 : 여기

이 응용 프로그램의 내용입니다 형세. 이제 코드가이 레이아웃에서 나왔음을 알았습니다.

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 
    <%= stylesheet_link_tag :all %> 
    <%= javascript_include_tag :defaults %> 
    <%= csrf_meta_tag %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

나는 그래서 가장 좋은 방법이며, 무엇을 코드하는 application_layout.html.erb에 존재한다,이 새로운 오전. 내 모든보기 파일 자체 HTML 코드를 갖고 싶습니다. 고마워요

답변

1

보기에는 .html.erb 확장자가 rhtml이 아니어야합니다 (Rails 1.x에서 중단되었습니다). 응용 프로그램 레이아웃 파일을 확인하십시오. 머리 부분에 자바 스크립트를 포함하는 항목이 표시됩니다. 그냥 주석으로 처리하면 js가 포함되지 않습니다.

그냥 나에게 질문이 남습니다. 당신이 가지고있는 실제 문제는 무엇입니까? 왜 너를 괴롭 히 느냐? 아마도 이에 대한 해답은 더 적절한 해결책을 찾기 위해 올바른 질문을하게 할 것입니다.

업데이트 application_layout.html.erb를 자세히 살펴보십시오. 그 내용을 게시 할 수 있습니까?

+0

내 질문을 편집했습니다. 기본적으로 나는 html 마크 업과 함께 html 마크 업을 얻고있다. 그리고 .html.erb 파일에 html 코드를 작성하고 코드를 실행하지 않으면 내 뷰 소스에서 html 코드를 볼 수 있습니다. – noobcode

+0

내 업데이트를 참조하십시오. 나는 이제 prob_i가 application_layout.html.erb의 코사인이라는 것을 이해한다 ... 동일한 옵션에 대해 가장 좋은 옵션을 제안 할 수 있는가? .. thanks – noobcode

+0

application_layout.html.erb에서 다른 모든 코드를 제거했으며 <%= yeild %>만을 사용하고있다. 그것은 내가 어떻게 작동하길 원하는지와 같이 작동합니다 ... 희망이 최고의 희망입니다. 감사합니다 – noobcode

1

이것은 오류가 아닙니다. 이것이 레일즈의 작동 방식입니다!

레일스는 views/layouts/application.html.erb 파일을 생성합니다.이 파일은 웹 사이트의 기본 템플릿입니다. 이 템플릿을 사용하면 작성한 각 페이지에 동일한 HTML 선언을 복사하여 붙여 넣을 필요가 없습니다.

레일스는 Model, View, Controller를 나타내는 MVC라는 용어를 사용합니다. 이 작품의 작동 방식에 대해 좀 더 읽어 보시기 바랍니다. 기본적으로 < % = yield %>는보기의 내용을 삽입하지만, 어느 URL이 어느보기를 가리키고 있는지 레일즈에 알려야합니다. 이제 view/pages/home.html.erb 파일을 볼 수 있습니다. 그 내용은 ..

<h1>Home Page</h1> 
<p>Congratulations, you made a web page with Rails!</p> 

그리고 당신이 http://localhost:3000/home로 이동 routes.rb

YourApp::Application.routes.draw do 
    match 'home' => 'pages#home' 
end 

에서

, 당신은 당신의 웹 페이지를 볼 수 있습니다. 소스 코드를 보면 Rails가 생성 한 결과를 볼 수 있습니다.

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 
    <%= stylesheet_link_tag :all %> 
    <%= javascript_include_tag :defaults %> 
    <%= csrf_meta_tag %> 
</head> 
<body> 
    <h1>Home Page</h1> 
    <p>Congratulations, you made a web page with Rails!</p> 
</body> 
</html> 

확실히 레일을 사용하는 적절한 방법입니다. 목표는 DRY (Do not Repeat Yourself)입니다. Michael Hartl은 훌륭한 튜토리얼과 Ruby on Rails 사용법을 소개합니다. Ruby on Rails를 처음 사용하는 사람이라면 누구나 여기에서 시작할 것을 제안합니다 : http://ruby.railstutorial.org/. Ruby on Rails 또는 웹 디자인을 일반적으로 사용하는 것에 대해 궁금한 점이 있으면 기꺼이 도와 드리겠습니다. 이메일 ([email protected])을 보내주십시오. 건배와 행운을 빌어 요!

+0

감사합니다 Dragonstar, 매우 통찰력있는 정보. – noobcode

관련 문제