Как использовать помощники вида с ruby-ejs - PullRequest
2 голосов
/ 21 января 2012

У меня есть приложение rails, которое использует гем ruby-ejs для компиляции шаблонов js, которые я затем использую в своих базовых представлениях.

Я хотел бы использовать некоторые помощники вида для создания элементов формы, таких как теги select, в моих шаблонах. Я нашел несколько помощников по EmbeddedJS View здесь , но я не знаю, как их использовать в моих шаблонах.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2012

если вы используете экспресс, я рекомендую вам использовать мою версию помощников вида 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>
0 голосов
/ 23 января 2012

Оказывается, это было не так сложно, как я думал.

Я просто включил файлы ejs.js и view.js из проекта EmbeddedJS здесь и смог использовать помощник select_tag, используя полное пространство имен.

<%= EJS.Helpers.prototype.select_tag('example', selected_value, choices) %>

Возможно, есть лучший способ получить доступ к вспомогательному методу. Я опубликую обновление, как только выясню это.

...