无法使我的文本参数与我的查询一起工作

Cant get my text params to work with my query

本文关键字:我的 查询 一起 工作 文本 参数      更新时间:2023-09-26

我的问题是,我的用户控制器中有一个自动填充方法,该方法使用我的视觉模型,将视图中键入的内容与员工表中的内容进行比较(视觉)。出于某种原因,我找不到任何值。非常感谢您的帮助。

这是我的用户控制器

class UserController < ApplicationController
  def populate_form
    @visual = Visual.find_by_id(params[:emp_id])
    render :json => {
        :emp_first_name => @emp_first_name,
    end
  end

这是我的视觉模型

class Visual < ActiveRecord::Base
  establish_connection :vmfg
  self.table_name = 'employee'
  belongs_to :user
end

这是我的观点

  <div class='row form-group'>
    <div class='col-xs-8 col-xs-offset-2 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4 col-lg-2 col-lg-offset-5 text-right'>
     <%= f.text_field :emp_id, tabindex: 1, id: 'emp_id', autofocus: true, placeholder: t( 'login_label' ), class: 'form-control' %>
    </div>
  </div>

这是我在它查询时得到的

 Visual Load (2.8ms)  SELECT  "EMPLOYEE".* FROM "EMPLOYEE"  WHERE "EMPLOYEE"."ID" IS NULL AND ROWNUM <= 1

但是,当我将我的用户控制器更改为这样时,我的问题是如何使用在emp_id文本字段中键入的内容,以便在调用填充表单方法时使用?

  def populate_form
    @visual = Visual.find_by_id('BILL')
  Visual Load (2.9ms)  SELECT  "EMPLOYEE".* FROM "EMPLOYEE"  WHERE "EMPLOYEE"."ID" = 'BILL' AND ROWNUM <= 1

此外,为了获得更多信息,这是我的app.js,它执行populate_form

$('#emp_id').change(function() {
      var url = '/user/populate_form/';
      $.getJSON(url, function(data) {
        if(!(data.emp_first_name === undefined))
        $('#emp_first_name').val(data.emp_first_name);
      });
    }
  );
});

在javascript函数中,您没有传递任何参数,只是在控制器内部调用方法。试试这样的东西:

$('#emp_id').change(function() {
  var url = "/user/populate_form&emp_id="+$(this).val();

现在控制器接收CCD_ 2作为参数。