2013-06-25 2 views
2

검색 한 결과 아무 것도 찾을 수 없습니다. 아마 어딘가에 언급해야하기 때문에 잘못된 정보를 찾고 있습니다. 기본적으로 슬림 템플릿 엔진에 대한 질문이 있습니다.Rails + Slim Source Output

Slim을 사용하면 브라우저에서 소스 코드 출력을 볼 때 HAML과 달리 올바르게 중첩되지 않고 전문가가 아닌 것처럼 보입니다. 나는 내가 슬픈 것을 정말로 좋아하기 때문에 내가 잘못 되었든 안 했든, 나는 올바른 방향으로 나를 가리켜 주 었는지 모르겠다. 그러나 불행히도 소스 산출물은 나를 위해 거래 차단기이다. Slim과 HAML 모두를 위해 아래 예제 코드와 출력이 있습니다.

난 아직도 레일 아주 새로운 오전으로는, 관련이 있다면 확실하지,하지만 다음과 같이 내 개발 컴퓨터의 사양은 다음과 같습니다

*Fedora 18 x86_64 
*Apache 2.4.4 
*Ruby 2.0.0p195 
*Rails 3.2.13 

The Gem Versions for HAML and Slim: 
haml (4.0.3) 
haml-rails (0.4) 
slim (2.0.0) 
slim-rails (2.0.1) 

*Apache configuration is set to: RailsEnv development 

슬림

응용 프로그램/뷰/레이아웃/application.html.slim :

doctype html 
html 

    head 
     title Test Website 
     = stylesheet_link_tag "application", :media => "all" 
     = javascript_include_tag "application" 
     = csrf_meta_tags 

    body 
     = yield 

소스 출력 :

<!DOCTYPE html><html><head><title>Test Website</title><link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" /><script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/home.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script><meta content="authenticity_token" name="csrf-param" /> 
<meta content="EFA1Dzi1D1DY4GVBlAJ+IIyhm7ZvYch8t5v2a6cj42k=" name="csrf-token" /></head><body><h1>Home#index</h1><p>Find me in app/views/home/index.html.slim</p></body></html> 

HAML

응용 프로그램/뷰/레이아웃/application.html.haml :

!!! 
%html 

    %head 
     %title Test Website 
     = stylesheet_link_tag "application", :media => "all" 
     = javascript_include_tag "application" 
     = csrf_meta_tags 

    %body 
     =yield 

소스 출력 : 출력, 슬림 정말 아무 문제가 없습니다

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Test Website</title> 
    <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
    <link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
    <script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
    <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
    <script src="/assets/home.js?body=1" type="text/javascript"></script> 
    <script src="/assets/application.js?body=1" type="text/javascript"></script> 
    <meta content="authenticity_token" name="csrf-param" /> 
    <meta content="RmxaPGwJapEf16Uw8ApQG0CpCHtr4My4aD8UO9w80dY=" name="csrf-token" /> 
    </head> 
    <body> 
    <h1>Home#index</h1> 
    <p>Find me in app/views/home/index.html.haml</p> 
    </body> 
</html> 

답변

2

최대 성능을 위해 압축하는 것입니다. 브라우저가 작동하는 한 브라우저의 모양이 마음에 들지 않습니다.

그러나 개발하는 동안 디버깅 목적으로보다 읽기 쉬운 버전을 원할 수도 있습니다.

# Indent html for pretty debugging and do not sort attributes 
Slim::Engine.set_default_options :pretty => true, :sort_attrs => false 

그냥 예를 들어 config/environments/development.rb에 넣어 당신은 설정하고 :

당신은 configure Slim과 같이 꽤 출력을 생성 할 수 있습니다.

+0

대단한 답변을 보내 주셔서 감사합니다. 정확히 내가 무엇을 찾고 있었는지! – RPelham