2013-03-04 95 views
3

嗨我正在使用Rails管理員,我需要在某些模型上打開任意模態窗體。爲了簡單起見,我希望有一個鏈接,一旦點擊打開一個模態形式。 我雖然只是在觸發模態窗體的鏈接上設置了什麼類和「data- *」屬性,但看起來更復雜。 我該如何做到這一點?我一直在瀏覽gem中的部分視圖和javascript,試圖瞭解如何在一對多關係中實現此功能,但代碼有點超出我的知識範圍,我無法完成此操作。 謝謝rails_admin打開任意模態窗體

回答

0

我不認爲你可以通過配置來實現這一點。您需要擴展現有的操作。

+0

對我來說創建一個新的自定義動作很好。關鍵是我如何鏈接這個動作來打開使用rails_admin中可用的模態UI? – user1170896 2013-03-22 10:20:44

1

雖然Rails的聯繫remoteForm部件建表格內的工作,你可以在其他地方使用它像這樣:

在你看來,一個div裏面,隨着data-link屬性的RA內部鏈接插入按鈕例如:

<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#new-payment是小部件將應用於的DOM對象。

另一個重要提示是,按鈕在新寄存器的情況下必須具有create類,或者在更新現有寄存器時必須具有update

現在你可以調用在JavaScript中remoteForm部件(即/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的優勢,並設置一個'成功'回調,這是在創建付款後調用的,以重新加載頁面的內容。

相關問題