У меня есть программа, в которую я внес изменения для моей работы. Я знаю, что должен делать, но у меня проблемы с работой кода. Я исхожу из фона Java и C.Метод RoR для поиска данных в таблице, а затем обновления другого столбца в другой таблице на основе этих данных
У меня есть две таблицы, одна таблица с именем customprojecschedule_lines имеет project_id, workorder_base_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
В основном то, что я хотел бы, что всякий раз, когда пользователь вводит WorkOrder на номер формы переходит в получает хранится в базе данных значения с этой записью, а затем извлекает идентификатор (из этой записи) и помещает тот же самый идентификатор в мою другую таблицу.
Однако, я получаю эту ошибку:
undefined local variable or method `customschedule' for #
<Customschedule:0x00000005542040>
Раньше, когда я пытался вещи, я все время получаю странный отборное заявление о том, что Customschedule ID был нулевым.
Мы используем оракул здесь.
Это моя первая публикация, поэтому, пожалуйста, дайте мне знать, если мне нужно что-нибудь еще.
Любая помощь очень ценится.