有关控制器,相关模型和控制器功能的问题

时间:2018-10-05 16:45:51

标签: ruby-on-rails ruby

我是红宝石的新手,我对在线所有文档都感到非常困惑。我正在创建一个跟踪订单的数据库程序。我已经在模型中设置了has_one,belongs_to和has_many关联,并且可以验证它们与sqlbrowswer的关系。

这是模型的粗略说明。

Models

每个订单只有一种产品,一项服务,一张账单,并且每张账单可以收取很多费用。相同的产品可能以不同的顺序出现,但每个订单都是唯一的。

我还有一个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 :(得分:0)

  

现在,我很困惑的是如何更新依赖模型。我应该为每个模型实现多个控制器,还是仅由一个控制器来处理整个事情?

您可以随心所欲地执行此操作,但是您应该始终记住“资源”的想法,在这种情况下,每个模型都代表一个资源,因此您应该单独进行操作。 Rails程序基于资源,如您在“ routes.rb”中所见。

相关问题