簡體   English   中英

如何將Rails部分渲染到新的瀏覽器選項卡中

[英]How to render rails partial into a new browser tab

如何將rails _partial.html.erb渲染到新的瀏覽器標簽中?

讓我解釋:

我在new.html.erb中有一個帶有簡單表單的Ruby on Rails MVC CRUD,該用戶填寫了將近25個字段並提交了表單。

控制器內部有一個create方法,該方法定義為將所有內容創建到數據庫中,然后調用一個方法將該文檔發送到打印機。

為了做到這一點,在create方法內部,它呈現了一個html模板視圖,該視圖的內容是用漂亮的html + css模板打印的很多變量...,然后在准備好文檔時,它通過javascript調用window.print()。

一切正常,但我想更改此行為。 我希望當new.html.erb提交表單時,活動選項卡被重定向回文檔索引( 對我來說是可以的 ),然后將要打印的文檔打開並在新的選項卡中集中顯示。

當前的解決方案是:

def create
  ... # lots of commands here
  render partial: 'contracts/printer/contract_template'
end

我該如何編碼最后一個疑問:...” 將被打印的文檔在新選項卡中以焦點打開打開的渲染。 ”?

將選項target="_blank"添加到您的表單中,這將使您的表單在新選項卡上提交,並在該選項卡上呈現您在create方法中定義的內容。

然后編寫腳本以偵聽該表單onSubmit ,然后將當前頁面重定向到索引。

$('#your-form-id').submit(function() {
    window.location.href = "YOUR_INDEX_PAGE";
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM