如何将rails _partial.html.erb呈现到新的浏览器标签中?
让我解释一下:
我有一个Ruby on Rails MVC CRUD,在new.html.erb中有一个简单的表单,用户填写近25个字段并提交表单。
在控制器内部有一个创建方法,定义为将所有内容创建到数据库中,然后调用一种方法将此文档发送到打印机。
为了做到这一点,在创建方法中,它呈现了一个html模板视图,其中的内容是使用漂亮的html + css模板打印的很多变量......然后在文档就绪时它通过javascript调用window.print()。
它工作正常,但我想改变这种行为。我希望当new.html.erb提交表单时,活动标签会被重定向回文档索引(它对我来说还可以到达)和将要打印的文档,在新标签中打开渲染,重点突出。
目前的解决方案是:
def create
... # lots of commands here
render partial: 'contracts/printer/contract_template'
end
我如何编码这最后的疑问:..." 将打印的文档,在新标签中打开渲染,重点突出。" ?
答案 0 :(得分:1)
在表单中添加选项target="_blank"
,这样可以在新标签页上提交表单,并在该标签页上显示您在create
方法中定义的内容。
然后编写脚本以侦听该表单onSubmit
,然后将当前页面重定向到索引。
$('#your-form-id').submit(function() {
window.location.href = "YOUR_INDEX_PAGE";
});