ruby-ejs gem を使用して js テンプレートをコンパイルする Rails アプリがあり、それをバックボーン ビューで使用しています。
一部のビュー ヘルパーを使用して、選択タグなどのフォーム要素をテンプレート内に作成したいと考えています。ここでEmbeddedJS ビュー ヘルパーをいくつか見つけましたが、テンプレートでそれらを使用する方法がわかりません。
これは可能ですか?
ruby-ejs gem を使用して js テンプレートをコンパイルする Rails アプリがあり、それをバックボーン ビューで使用しています。
一部のビュー ヘルパーを使用して、選択タグなどのフォーム要素をテンプレート内に作成したいと考えています。ここでEmbeddedJS ビュー ヘルパーをいくつか見つけましたが、テンプレートでそれらを使用する方法がわかりません。
これは可能ですか?
Express を使用している場合は、私のバージョンの ejs ビュー ヘルパーを使用することをお勧めしますhttps://github.com/tanema/express-helpers
このように初期化できます
var helpers = require('express-helpers')(app);
次に、ejs ビューで select タグを次のように使用します
<%
var choices = [
{value: 1,text: 'First Choice' },
{value: 2,text: 'Second Choice'},
{value: 3,text: 'Third Choice'}
]
%>
<%= select_tag('mySelectElement', 2, choices) %>
以下を作成します。
< select id='mySelectElement' value='2' name='mySelectElement'>
< option value='1' >First Choice</option>
< option value='2' selected='selected'>Second Choice</option>
< option value='3'>Third Choice</option>
< /select>
これは思ったほど難しくはありませんでした。
ここでは、EmbeddedJS プロジェクトの ejs.js ファイルと view.js ファイルを単純に含めただけで、完全な名前空間を使用して select_tag ヘルパーを使用できました。
<%= EJS.Helpers.prototype.select_tag('example', selected_value, choices) %>
ヘルパー メソッドにアクセスするには、おそらくもっと良い方法があります。それがわかり次第、アップデートを投稿します。