Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails视图保存按钮已禁用_Ruby On Rails_Redirect_Controller_Prawn - Fatal编程技术网

Ruby on rails Rails视图保存按钮已禁用

Ruby on rails Rails视图保存按钮已禁用,ruby-on-rails,redirect,controller,prawn,Ruby On Rails,Redirect,Controller,Prawn,我正在通过按下视图的保存按钮来运行控制器操作“保存”。“post”操作重定向到“print_pdf”操作,然后通过prawn呈现pdf。问题是保存按钮仍然处于禁用状态。不能按下按钮,但视图中的其他控件可以工作。将“保存”按钮恢复到启用状态的唯一方法是单击浏览器“刷新”。我曾经尝试过重定向_到:back和其他各种黑客程序,但最终还是出错了。每个控制器操作不能执行多个重定向。有没有关于如何启用“保存”按钮或为什么它保持/导致禁用的想法?求你了 #view <%= form_for(@pdf_r

我正在通过按下视图的保存按钮来运行控制器操作“保存”。“post”操作重定向到“print_pdf”操作,然后通过prawn呈现pdf。问题是保存按钮仍然处于禁用状态。不能按下按钮,但视图中的其他控件可以工作。将“保存”按钮恢复到启用状态的唯一方法是单击浏览器“刷新”。我曾经尝试过重定向_到:back和其他各种黑客程序,但最终还是出错了。每个控制器操作不能执行多个重定向。有没有关于如何启用“保存”按钮或为什么它保持/导致禁用的想法?求你了

#view
<%= form_for(@pdf_report_run) do |f| %>
  <div> class="some_class">
    <%= f.submit("Save", class: 'btn btn-primary') %>

#controller
def create
  format.html { redirect_to print_pdf(format: 'pdf') }
end

def print_pdf
  @self = self
  respond_to do |format|
    format.pdf {render layout: false}
  end
end

# file print_pdf.pdf
# this contains the view the controller will render
pdf = Prawn::Document.new
   ...
end
# the line below is the last line that gets ran (last line of the controller's view)
@self.send_data pdf, filename: 'file_name.pdf', type: 'application/pdf'
# i've tried redirect_to and render here but won't allow another 
#查看
class=“some\u class”>
#控制器
def创建
format.html{redirect_to print_pdf(格式:'pdf')}
结束
def print_pdf
@自我
回应待办事项|格式|
format.pdf{呈现布局:false}
结束
结束
#文件打印\u pdf.pdf
#这包含控制器将渲染的视图
pdf=对虾::Document.new
...
结束
#下面的一行是运行的最后一行(控制器视图的最后一行)
@self.send_data pdf,文件名:'file_name.pdf',键入:'application/pdf'
#我已尝试将_重定向到此处并在此处渲染,但不允许再次进行渲染

这是Rails 5的一项功能,要解决这一问题,这里有一个快速破解

不要使用
,而是使用此

<%= button_tag 'Save', class: 'btn btn-primary' %>


希望有帮助

从您的视图和控制器添加代码如何,或者您是否希望我们侵入您的本地计算机并以这种方式查看您的代码?请将视图代码粘贴到“保存”按钮所在的位置。