Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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 ActiveRecord::RecordNotFound(找不到id为的EmployeeResignation)=_Ruby On Rails - Fatal编程技术网

Ruby on rails ActiveRecord::RecordNotFound(找不到id为的EmployeeResignation)=

Ruby on rails ActiveRecord::RecordNotFound(找不到id为的EmployeeResignation)=,ruby-on-rails,Ruby On Rails,当我一次又一次点击“打印”按钮时,它会通过一个活动记录错误被删除 ActiveRecord::RecordNotFound (Couldn't find EmployeeResignation with 'id'=): app/controllers/exit_interviews_controller.rb:67:in `print_exit_interview' ActiveRecord::RecordNotFound: Couldn't find EmployeeResignat

当我一次又一次点击“打印”按钮时,它会通过一个活动记录错误被删除

ActiveRecord::RecordNotFound (Couldn't find EmployeeResignation with 'id'=):   app/controllers/exit_interviews_controller.rb:67:in `print_exit_interview'



ActiveRecord::RecordNotFound: Couldn't find EmployeeResignation with 'id'=
我的控制器代码-

def print_exit_interview
    @employee = params[:exit_interview] ? params[:exit_interview][:employee_id] : params[:employee_id]
    @employee_resignation = EmployeeResignation.find(params[:id])
    @exit_interviews = ExitInterview.where(employee_id: @employee_resignation.employee_id)
    respond_to do |format|
        format.html
        format.pdf do
        render :pdf => 'print_exit_interview',
        layout: '/layouts/pdf.html.erb',
        :template => 'exit_interviews/print_exit_interview.pdf.erb',
        :orientation      => 'Landscape', # default , Landscape
        :page_height      => 1000,
        :dpi              => '300',
        :margin           => {:top    => 20, # default 10 (mm)
                      :bottom => 20,
                      :left   => 20,
                      :right  => 20},
        :show_as_html => params[:debug].present?
      end
    end
  end

在我写的帖子中:打印退出面试。

是的,这个错误似乎是正确的。在
员工辞职表中可能没有ID为空的记录。
params
中可能没有
ID
属性

如果要减轻此错误,请使用
EmployeeResignation.find_by(id:params[:id])
.find()
在数据库中未找到记录时抛出错误。另一方面,
find_by
在未按指定条件找到记录时将返回
nil


可以进行很好的讨论。

服务器日志中的
参数是什么?请发布这些参数。看起来你在其他地方都依赖
员工id
,为什么不试试这个而不是
:id
作为一个参数呢我想问题出在你的这行
@employee\u demission=EmployeeResignation.find(参数[:id])
确保为参数提供的id有效。或者您可以使用
@employee\u demission=EmployeeResignation.find\u by(id:params[:id])
这将处理异常。@Anubhi Golecha,在方法的第一行使用
呈现json:params并返回false
。问题解决了吗?现在它没有给出任何错误,但当我使用不同的员工id登录时,它会显示上一个员工id的记录。@AnubhiGolechha这是一个单独的问题,有很多可能能力。可能是您正在传递以前在路线中使用的员工ID。正如@Paven在评论中提到的,请在
params
中发布您收到的信息。