私は角度の付いたレールアプリを持っており、テキストエリアのタグのデフォルトテキストを埋めることができるようにHTMLの大きなブロックを埋める必要があります。現在、私がやったことは、私はそれを行うためのクリーンな方法があるかどうかを知りたいと思い、この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"
のようにテキストを追加しました。私はこの
<%= j render('navbar') %>
ようにレンダリング機能付きjs.erbファイルを使用してみましたが、レンダリング機能がhttps://stackoverflow.com/a/8370847/1087841が動作していないので、資産フォルダに置かれています。私はそれを行うより良い方法があるかどうかを知りたいと思います。
[編集] js.erbファイルは、実際には角型ファクトリで、ナビゲーションバー用のデフォルトのHTMLがあり、デフォルトのデータをレンダリングするために角度コントローラによって使用されます。また、factoryファイルもrequireとしてapplication.jsに追加されます。 これは、私はデフォルトのHTMLで値タグを配置している可能性がありますが、それはng-model
ので、何も表示されません取得したデフォルトのhtml
<textarea name="t[navigation]" id="input-navigation-bar" ng-model="t.navigation_bar" class="form-control" rows="10"></textarea>
を必要とテキストエリアです。そこで、デフォルトデータ用のファクトリを作成しました。今度は/ assetsに入っていて、application.jsには//= require 'default_html_factory'
というファクトリがあります。