ArgumentError: Ajax::Pacientes#obtener_datos_paciente不是支持的控制



我正在使用从项目中回收的代码,但在这个版本中我没有很好的结果。

我使用Rails 5.2.2和RVM Ruby 2.7.1

我需要使用这个函数来调用ajax并交付已经存储的客户端数据并填写表单,数据将通过每个客户端的RUN进行搜索

我不明白为什么match()不适合我

控制器Pacientes

class Ajax::PacientesController < ApplicationController
layout nil
def obtener_datos_paciente
#usuario = params[:rut]
usuario = Usuario.first :rut => params[:rut]

puts usuario.inspect.yellow 
if usuario.nil?
render :json => {
:exito      => true,
:mensaje    => "No existen registros asociados al rut #{params[:rut]}."
}
else 
render :json => {
:exito      => true,
:es_empresa => true,
:mensaje => "El paciente con rut #{params[:rut]} ya existe.",
:data => {
:id                     => usuario.id,
:rut                    => usuario.rut, 
:primer_nombre          => usuario.primer_nombre,  
:segundo_nombre         => usuario.segundo_nombre,
:apellido_paterno       => usuario.apellido_paterno,
:apellido_materno       => usuario.apellido_materno, 
:direccion              => usuario.direccion,
:ciudad                 => usuario.ciudad,
:comuna                 => usuario.comuna,
:telefono               => usuario.telefono,
:email                  => usuario.email
}
}
end
rescue Excepciones::DatosNoExistentesError => e
flash.now[:info] = e.message
render :json => { :mensaje => e.message }
end
end 

路线

match(
"ajax/pacientes/:rut" => "ajax::pacientes#obtener_datos_paciente",
:as => :obtener_datos_paciente,
:via => :get
)
控制器Usuario

require 'json'
class UsuariosController < ApplicationController
helper_method :url_paciente
def index
@usuarios = Usuario.all

end
def ingreso_paciente


end
def registrar_ingreso

end
def ingresar_ficha_kinesica
alias url_paciente obtener_datos_paciente_ajax_pacientes_path 
end 
end

最简单的修复方法是将控制器重命名为:class PacientesController < ApplicationControllermatch"ajax/pacientes/:rut" => "pacientes#obtener_datos_paciente"

如果您的控制器必须存在于Ajax名称空间中,那么它可能也应该有一个名称空间路由。在这个答案中可以找到一个例子。

相关内容

  • 没有找到相关文章

最新更新