Должен ли я поместить HTML-теги ввода в моем представлении? - PullRequest
0 голосов
/ 06 октября 2009

Я новичок в рельсах, и мне было интересно, должен ли я вставлять код, как вторая строка в моем представлении:

<%= text_field_tag 'new_ingredient' %>
<input type=button ID="btnAddIngredient" Value="Add" onclick="addIngredient();" />

или есть помощник, который я должен использовать для создания тега вместо этого? Я знаю о формах и помощниках тегов, но не хочу, чтобы эта кнопка была кнопкой отправки формы. Это просто кнопка, которая управляет некоторыми элементами с помощью JavaScript.

Полагаю, мне следует использовать помощника, но я все еще пытаюсь ознакомиться с документацией по Rails API и, похоже, не могу найти то, что ищу.

Ответы [ 2 ]

3 голосов
/ 06 октября 2009

В зависимости от вашего подхода, возможно, также стоит отметить, что помещение вызовов JS-функций в события «по нажатию» считается дурным тоном и, как я полагаю, будет выходить из Rails 3. В зависимости от вашей среды JS лучше прослушивать событие нажатия кнопки и действовать в соответствии с этим.

Работая с jQuery, вы можете сделать что-то вроде этого в представлении:

<%= button_to "Add", :url => "#", :id => "btnAddIngredient" %>

И это в вашем application.js или другом файле JS:

$("#btnAddIngredient").click(function() {
    addIngredient();
});
2 голосов
/ 06 октября 2009

вы можете использовать button_to_function, вот так

button_to_function "Add", :id => "btnAddIngredient", :onclick => "addIngredient();"

надеюсь, это поможет =)

подробнее здесь: http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#M001757

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...