<%= image_tag .. %>
Rails のビュー ヘルパーやフォーム ヘルパーを使用できるようにしたいと考えています<%= select_tag .. %>
。このスレッドを読んで、erb をいくつかの javascript 変数の文字列として事前にレンダリングし、それをテンプレートから呼び出すことを提案しました (js テンプレートが呼び出される前に利用可能である必要があります)。だから私はこのようなことができます:
view_helpers.js.erb
<script type="text/javascript">
var ViewHelpers = {
CountrySelect: "<%= select_tag "person[country_id]", options_from_collection_for_select(Country.all, "name", "id"), :prompt => '-Country-' %>"
};
</script>
そして、私のエコ テンプレート (後でレンダリング) から呼び出します。
edit_person.jst.eco
...
<p>
<label for="person_country_id">Country</label>
<%= ViewHelpers.CountrySelect %>
</p>
...
ただし、ビューの一部として、またはアセット パイプラインを使用してロードすることができないようです。
アセット パイプライン: application.js
(app/assets/javascripts/views/people/view_helpers.js.erb に保存)
//= require ./views/people/view_helpers
また
ERB テンプレート: views/people/index.html.erb
(app/views/people/view_helpers.js.erb に保存)
<%= render :template => 'people/view_helpers' %>
私はこの問題に完全に間違って取り組んでいますか、それとも何かを見逃していますか? ありがとう。