В моей форме я хотел бы динамически добавить поле, когда флажок установлен.
У .select-qty
есть css dislpay: none
<%= form_with model: @item, html: { class: "update-form", method: :patch, remote: true } do |f| %>
<%= f.hidden_field :id, value: item.id %>
<td class="mulitple-item">
<%= f.check_box :selected, { checked: true, value: item.selected, class: 'form-control', onchange: 'this.form.submit();' } %>
</td>
<td class="select-qty>
<%= f.select :quantity, options_for_select((0..item.quantity), selected: 2), {}, { value: item.quantity, class: 'form-control', onchange: 'this.form.submit();' } %>
</td>
<% end %>
У меня есть это update.js.erb
, которое должно сделать поле появившимся ...
$('.multiple-item').bind('.update-form').bind('.submit-btn').bind('ajax:success', function(){
$(".select-qty").css("display", "block")
});
в моих маршрутах у меня есть это:
patch "items", to: "items#update", defaults: { format: 'js' }
и мой контроллер #update
def update
@item = Item.find(params[:id])
@item.update_attributes(item_params)
respond_to do |format|
format.js
end
end
Когда я проверяю флажок, он отображает необработанный код update.js.erb
в браузере ...
Что я делаю не так?