Вопрос о контроллерах, зависимых моделях и функциях контроллеров - PullRequest
0 голосов
/ 05 октября 2018

Я новичок в ruby ​​на рельсах, и я полностью сбит с толку всей онлайн-документацией.Я создаю базу данных программы, которая отслеживает заказы.Я уже настроил ассоциации has_one, own_to и has_many в модели и могу проверить их связь с моим sqlbrowswer.

Вот примерная иллюстрация моделей.

Модели

Каждый заказ имеет только один продукт, одну услугу, один счет икаждый счет может иметь много расходов.Один и тот же продукт может появляться в разных заказах, но каждый заказ будет уникальным.

У меня также есть модель order_observer для создания зависимых моделей продукта

class OrderObserver < ActiveRecord::Observer observe :order def after_create(order) Product.create! :order_id => order.id Service.create! :order_id => order.id Bill.create! :order_id => order.id end end

Вот как выглядят мой класс продукта и класс заказа:

class Product < ApplicationRecord
belongs_to :order
end


class Order < ApplicationRecord
has_one :product, dependent: :destroy
has_one :bill, dependent: :destroy
has_one :service, dependent: :destroy
accepts_nested_attributes_for :product
accepts_nested_attributes_for :bill
accepts_nested_attributes_for :service
end

Теперь меня смущает то, как обновить зависимые модели.Должен ли я реализовать несколько контроллеров для каждой модели или только один контроллер для обработки всего этого?

Прямо сейчас все, что у меня есть в моем главном контроллере:

 def create
    @order = Order.new(order_params)   
 end
 def edit 
    @order = Order.find(params[:id])
 end
 def update
 end

Буду признателен за любые советы илируководство.Спасибо!

1 Ответ

0 голосов
/ 08 октября 2018

Теперь, что я запутался в том, как обновить зависимые модели.Должен ли я реализовать несколько контроллеров для каждой модели или только один контроллер для обработки всего этого?

Вы можете делать это как угодно, но вы всегда должны помнить идею «ресурсы», в этом случаекаждая модель представляет ресурс, поэтому вы должны делать это отдельно.
Программа Rails основана на ресурсах, как вы можете видеть это в 'rout.rb'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...