我有一个带有以下型号的 rails 应用程序:
class Product < ActiveRecord::Base
has_many :stores, through: :product_store
attr_accessible :name, :global_uuid
end
class ProductStore < ActiveRecord::Base
attr_accessible :deleted, :product_id, :store_id, :global_uuid
belongs_to :product
belongs_to :store
end
由于此模型用于移动应用程序的 REST API,因此我在设备上远程创建对象,然后与此模型同步。发生这种情况时,我可能必须先创建一个ProductStore
,然后再id
设置一个 for Product
。我知道我可以批量处理 API 请求并找到一些解决方法,但我已经决定global_uuid
在移动应用程序中创建一个属性并进行同步。
我想知道的是如何在我的控制器中制作此代码:
def create
@product_store = ProductStore.new(params[:product_store])
...
end
请注意,它将接收product_global_uuid
参数而不是product_id
参数,并使其正确填充模型。
我想我可以覆盖ProductStore#new
,但我不确定这样做是否有任何后果。