javascript
  • html
  • ruby-on-rails
  • erb
  • 2017-07-05 72 views 1 likes 
    1

    我有一個軌道應用程序以及角度,我需要填充一大塊HTML,以便它可以填寫textarea標記的默認文本。目前我做的是添加這樣的文字更清潔的方式來添加在JavaScript中的大塊HTML的軌道

    "<div class='navbar navbar-default letter-header hidden-sm hidden-xs'>\n" + 
        " <div class='container'>\n" + 
        " <div class='letter-navbar-header navbar-header'>\n" + 
        "  <a href='/'><img src='/assets/logo.png' class='letters-logo navbar-brand'></a>\n" + 
        " </div>\n" + 
    
        " <div class='navbar-header header-text'>\n" + 
        "  <div class='navbar-text'>\n" + 
        "  "text" + "\n" + 
        "  </div>\n" + 
        " </div>\n" + 
        " <div class='letter-navbar-header navbar-header'>\n" + 
        "  <a href='/'>\n" + 
        "  <img src='' class='second-logo'>\n" + 
        "  </a>\n" + 
        " </div>\n" + 
        " <div class='navbar-header navbar-right'>\n" + 
        "  {{ user_login }}" + "\n" + 
        " </div>\n" + 
        " </div>\n" + 
        "</div>\n" 
    

    我想知道是否有更乾淨的方法來做到這一點。我一直在使用js.erb文件與渲染功能,這樣

    <%= j render('navbar') %> 
    

    嘗試,但把它放在資產文件夾,以便渲染功能無法正常工作https://stackoverflow.com/a/8370847/1087841。我想知道是否有更好的方法來做到這一點。

    [編輯] js.erb文件實際上是一個角度工廠,它具有導航欄的默認HTML,然後角度控制器可以使用它來呈現默認數據。工廠文件然後也被添加到application.js中作爲需求。 這是一個需要默認的HTML

    <textarea name="t[navigation]" id="input-navigation-bar" ng-model="t.navigation_bar" class="form-control" rows="10"></textarea> 
    

    textarea的我可以在值標籤與默認的HTML,但它有ng-model所以沒有被顯示出來。所以我爲默認數據創建了一個工廠。現在工廠居住在/ assets中,並且在application.js中有一個//= require 'default_html_factory'

    回答

    0

    我終於找到了一個辦法。在該局網頁我加

    <script> 
        <%= render 'style_factory.js.erb' %> 
    </script> 
    

    ,並在工廠裏添加此

    this.ngapp.factory('TenantStyle', function() { 
        return { 
        header: "<%= j render 'navbar' %>" 
        } 
    }); 
    

    ,並在_navbar.html.erb文件中添加此

    <div class="navbar navbar-default letter-header hidden-sm hidden-xs"> 
        <div class="container"> 
        <div class="letter-navbar-header navbar-header"> 
        </div> 
    
        <div class="navbar-header header-text"> 
         <div class="navbar-text"> 
         </div> 
        </div> 
        <div class='letter-navbar-header navbar-header'> 
         <a href='/'> 
         <img src='' class='second-logo'> 
         </a> 
        </div> 
    
        <div class="navbar-header navbar-right"> 
        </div> 
        </div> 
    </div> 
    

    ,現在我可以以角度調用工廠並獲取標題值。

    相關問題