Я вызвал функцию из класса, чтобы найти все элементы, относящиеся к определенному идентификатору, во многих отношениях HABTM.Перемещение по объекту данных рельсов с контроллера
Процедуры -> Задача с соединительной таблицей: procedures_tasks
Я называю такую информацию, как @example = Procedure.get_tasks (1,1)
Я хотел бы иметь возможность перебора возвращаемых данных так что я могу создать экземпляр каждого TASK_ID, связанных с процедурой, о котором идет речь
def self.get_tasks(model_id, operating_system_id)
find(:first, :select => 'tasks.id, procedures.id', :conditions => ["model_id = ? AND operating_system_id = ?", model_id, operating_system_id], :include => [:tasks])
end
Я пытался визуализации данных, как я обычно, и затем с помощью .each сделать | F | в слое зрения, но я получаю:
undefined method `each' for #<Procedure:0x2b879be1db30>
Оригинальный вопрос:
я создаю приложение рельсы для отслеживания процессов мы проводим. Когда создается новый экземпляр процесса, я хочу автоматически создавать строки для всех задач, которые необходимо выполнить. столы:
- decommissions
- модели
- operating_systems
- процедуры
- задачи
- procedures_tasks
- host_tasks
процедуры -> задач много для многих через таблицу join_tasks join.
Когда вы начинаете новый процесс снятия с эксплуатации, вы указываете модель и ОС, модель и ОС определяют, какую процедуру вы следуете, каждая процедура имеет список задач, доступных в таблице соединений. Я хочу создать запись в host_tasks для каждой задачи, относящейся к процедуре, относящейся к создаваемой отмене.
Я сделал свою голову в течение этого дня, любые предложения?
class Procedure < ActiveRecord::Base
has_and_belongs_to_many :tasks
#has_many :tasks, :through => :procedures_tasks
# has_many :procedures_tasks
belongs_to :model
belongs_to :operating_system
validates_presence_of :name
validates_presence_of :operating_system_id
validates_presence_of :model_id
def self.get_tasks(model_id, operating_system_id)
find(:first, :select => 'tasks.id, procedures.id', :conditions => ["model_id = ? AND operating_system_id = ?", model_id, operating_system_id], :include => [:tasks])
end
end
метод get_tasks извлечет задачи, связанные с процедурой, но я не знаю, как манипулировать данными извлекается из базы данных в рельсах, я не смог получить доступ к атрибутам возвращаемым объект через контроллер, потому что они еще не были отображены?
В идеале я хотел был бы иметь возможность форматировать эти данные, так что у меня есть только массив task_id, который затем я могу прокрутить, создав новые строки в соответствующей таблице.
Что вы понимаете, манипулируя данными? Вы хотите иметь HTML-форму, с которой вы можете управлять всем? –
Существует форма для начала процесса снятия с эксплуатации, вы вводите все детали, которые добавляются в таблицу декомпозиции. После этого я хотел бы потянуть decommission_id и все соответствующие task_id и добавить их в таблицу host_tasks. Я хочу добавить их на уровне контроллера автоматически. Когда я говорю, манипулировать данные я имею в виду лишить его таким образом, что @example = [task_id1, task_id2, и т.д.] вместо того @example = «сумасшедший объект рубинового с кучами атрибутов вложенных внутри себя» – Rumpleteaser
я обнаружил, что я может получить доступ к вспомогательным атрибутам, перейдя в @ tasks.task.name и т. д. есть ли лучший способ затем пропустить все это и отправить команду sql для каждого? Есть ли рельефный способ сделать это? – Rumpleteaser