Привет, я использую Rails Admin, и мне нужно открыть произвольные модальные формы на определенных моделях. Чтобы сделать его простым, я хотел бы иметь ссылку, которая когда-то щелкнула, открывает модальную форму. Хотя это был вопрос того, какой класс и атрибут «data- *» установлен на ссылку, которая запускает модальную форму, но выглядит более сложной. Как это достичь? Я просматривал частичные представления и javascript в gem, чтобы попытаться понять, как эта функция достигается, например, от одного до многих отношений, но код немного выше моих знаний, и я не могу этого сделать. Thanksrails_admin произвольные открытые модальные формы
ответ
Я не думаю, что вы можете выполнить эту конфигурацию. Вам нужно будет продлить существующее действие.
Я также пытался найти решение для этого, мой подход состоял в том, чтобы скопировать функции, вызванные в rails admin, на мою базу кода. Его плохой подход, но он работал.
создать класс переплетены к действию открытия модели, но это не сработало. Поэтому я взял _bindModalOpening, _bindFormEvents и _getModal функционирует в моей базе кода.
Хотя виджет Rails Администратор remoteForm был построен для работы в форме, вы можете использовать его в другом месте, как это:
На ваш взгляд, внутри DIV, вставьте кнопку с внутренней связи РА в атрибуте data-link
, например:
<div id="new-payment">
<a href="#" data-link="<%= new_path(:payment, associations: {client: client.id}, modal: true) %>" class="create btn btn-info">
New Payment
</a>
</div>
Обратите внимание, что ссылка имеет атрибут modal = true. Внешний новый div # новый платеж - это объект DOM, к которому будет применяться виджет.
Еще один важный совет состоит в том, что при обновлении существующего регистра кнопка должна иметь класс create
, или update
.
Теперь вы можете вызвать remoteForm виджет в вашем JavaScript (т.е. /app/assets/javascripts/rails_admin/custom/ui.js):
$(document).on('rails_admin.dom_ready', function() {
$('#new-payment').remoteForm({
success: function(data, status, xhr) {
$.pjax.reload({container:"[data-pjax-container]"});
}
});
});
В этом случае я везу преимущество pjax, и установление «успешного» обратного вызова, вызываемого после создания платежа, для перезагрузки содержимого страницы.
Это нормально, чтобы создать новое настраиваемое действие. Дело в том, как я могу связать это действие с открытием с помощью модального ui, доступного в rails_admin? – user1170896