2017-12-05 6 views
0

두 가지 버전으로 내 응용 프로그램을 분할하려고했습니다. 하나는 CDN을 사용하고 다른 하나는 자산 스크립트 및 CSS를 사용합니다.레일 응용 프로그램 템플릿을 사용자 정의하는 방법

CDN의 경우 모든 CDN 줄을 다른 파일로 분할하고 application.haml의 링크를 설정하여 정리할 수 있습니까? 여기

application.haml (또는 HTML)

%html 
    %head 
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/ 
    = csrf_meta_tags 
    %link{:href => "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css", :rel => "stylesheet"}/ 
    Optional Theme 
    %link{:href => "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css", :rel => "stylesheet"}/ 
    %link{:href => "https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css", :rel => "stylesheet"}/ 
    %link{:href => "https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.css", :rel => "stylesheet"}/ 
    %link{:href => "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css\n", :rel => "stylesheet"}/ 
    %link{:href => "https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic", :rel => "stylesheet"}/ 

    %script{:crossorigin => "anonymous", :integrity => "sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=", :src => "https://code.jquery.com/jquery-3.2.1.min.js"} 
    %script{:crossorigin => "anonymous", :integrity => "sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=", :src => "https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"} 
    %script{:src => "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.13.0/popper.min.js"}  
    %script{:crossorigin => "anonymous", :integrity => "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa", :src => "//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"} 
    %script{:src => "https://cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.js"} 
    %script{:src => "https://cdnjs.cloudflare.com/ajax/libs/jQuery-slimScroll/1.3.8/jquery.slimscroll.js"} 
    %script{:src => "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.3/moment.min.js"} 

    = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' 
    = javascript_include_tag "application", 'data-turbolinks-track': 'reload' 


    %body.hold-transition.skin-yellow.sidebar-mini 
    .wrapper 
     = render "layouts/navigation/header" 
     = render "layouts/navigation/sidebar" 
     .content-wrapper 
     = yield 
     = render 'layouts/navigation/footer' 

답변

0

당신은 별도의 자산을 사용하는 다른 버전에 대한 별도의 컨트롤러를 만들 수 있습니다.

versionb_controller.rb을 만들고 routes.rb

을 업데이트 추가 폴더 /views/versionb

추가보기 /views/versionb/index.html.erb

마지막으로, 레이아웃은 다른 버전의 레이아웃을 추가 아래 및 /layouts/versionb.html.erb

+0

내가 의해 해결할 수로 저장 다른 응용 프로그램 -2를 설정하고 필요에 따라 교체하십시오. 하지만 실제로 필요한 것은 모든 CDN을 분리 된 파일로 정리하는 것입니다. 내가 시도한 것은 링크를 사용하는 것이다. 나중에 업데이트됩니다. –