所以我有一个考试控制器。现在它的文件上有一个jqgrid(index.html.erb)。单击网格行,我已设置了用于处理事件的javascript。 它看起来像
<script type= "text/javascript">
function handleSelection(id) {
<%=
remote_function :url => render_exam_exams_path,:with => "'id='+id"
%>
}
</script>
现在我正在测试的方法如下
def render_exam
@exams = Exam.find(params[:id])
#either
#redirect_to home_index_path
#or open this in new browser tab
#render :action => "render_exam"
end
我也有一个名为render_exam的视图。现在我检查了服务器日志和所有,一切正常,甚至生成了render_exam,因为我可以在chrome开发人员插件中看到。现在问题是我想要
<script type= "text/javascript">
function handleSelection(id) {
<%= redirect_to :action => render_exam_exams_path, :with => "'id='+id" %>
}
</script>
否则问题就解决了。 任何帮助表示赞赏 感谢
答案 0 :(得分:0)
首先,您无法在同一操作中重定向和呈现,因为每个操作只有一个响应。第二次打开一个新选项卡是客户端功能(由您的浏览器控制),您需要在链接中使用类似“”target = _blank的内容,这将打开一个新的浏览器,而后者将请求一个页面(在您的情况下为render_exam_exams_path)来自服务器。