遇到麻烦让我的问题出现了,我的问题是当我查询我的Visual模型以获取自动为用户填充的信息时..
这是我的视觉模型
class Visual < ActiveRecord::Base
establish_connection :vtest
self.table_name = 'employee'
Visual.inheritance_column = 'inheritance_type'
belongs_to :user
end
这是我的用户模型
class User < ActiveRecord::Base
belongs_to :visual
这是我的用户控制器,当我看到它时自动填充动作...当我使用where('id =?',“#{emp_id}')时我得到此错误NameError(undefined local variable)或者方法`emp_id'代表#):但是当我将它改为.where('id =?',“BILL”)时,它可以工作....我有一个表格,当他们输入信息时,这将自动完成其余的他们的页面,但每个人有一个不同的emp_id。
但是,当我这样做时,Visual.where('id =?',“#{@ emp_id}%”)我觉得这是有效的,但没有任何东西显示Visual Load(3.0ms)SELECT“EMPLOYEE”。* FROM“雇员“WHERE(id ='%')
class UserController < ApplicationController
def populate_form
@visual = Visual.where('id = ?', "#{emp_id}")
@emp_first_name = @visual.first_name
render :json => {
:emp_first_name => @emp_first_name,
}
end
用户的表格信息
emp_id
视觉表信息
id
first_name
emp_id和id是同样的例子@ user.emp_id = Bill,@ visual.id = Bill。
我现在尝试了这个但是现在我得到了这个错误Visual Load(4.7ms)SELECT“EMPLOYEE”。* FROM“EMPLOYEE”WHERE(id = NULL)
def self.emp_id
@emp_id = emp_id
end
def populate_form
@visual = Visual.where('id = ?', @emp_id)
答案 0 :(得分:0)
您根本没有在控制器中定义emp_id。和@emp_id查询有效,因为它被评估为'nil'(未定义的实例变量是nils)