0
我有一个程序,我正在对我的工作进行更改。我知道我必须做什么,但我有问题让代码工作。我来自Java和C背景。RoR方法搜索表中的数据,然后基于该数据更新另一个表上的另一列
我有两个表一个表称为customprojecschedule_lines有一个project_id,workorder_base_id和其他各种列的列。
另一张名为customschedule的表具有一个id,工作顺序栏和各种其他栏。
我有一个方法和变量叫做工单。
我试图得到一个SQL语句,将是这样做的:
class Customschedule < ActiveRecord::Base
set_table_name "customschedules"
after_create :build_customprojectschedule_lines
has_many :customprojectschedule_lines, :dependent => :destroy
has_one :projectschedule_cost
delegate :est_cost, :act_cost, :to => :projectschedule_cost, :allow_nil => true
attr_accessor :workorder_base, :lots
def workorder
customschedule.where(:id => customprojectschedule_lines.product_id)
end
def workorder=(wo)
@workorder_base = wo
customprojectschedule_lines.each do |pl|
pl.update_attributes({:workorder_base_id => wo})
end
end
def build_customprojectschedule_lines
lines = @lots.split(',').inject([]) do |lines, lot_id|
line = customprojectschedule_lines.find_or_initialize_by_workorder_lot_id(lot_id)
if line.new_record?
p workorder_base
line.workorder_base_id = @workorder_base
line.line_no = lot_id
line.workorder_split_id = 0
end
lines << line
end
customprojectschedule_lines.replace(lines)
end
基本上我想的是,只要用户输入的表格数工作单进入数据库获取存储值与该记录,然后检索该ID(从该记录),并将该相同的ID在我的另一个表中。
不过,我不断收到此错误:
undefined local variable or method `customschedule' for #
<Customschedule:0x00000005542040>
当我试图东西我一直得到一个怪异的select语句说Customschedule ID为空之前。
我们在这里使用oracle。
这是我第一次在这里发帖,所以请让我知道如果我需要别的东西。
任何帮助,非常感谢。