我正在尝试开发租赁系统,用户可以登录,创建产品,其他用户可以租用他的产品。
我的问题是,我不知道如何创建检索product_id
和customer_id
的租金。我建立了关系,但它没有工作。
我还为每个人创建了CRUD,甚至是租金。我如何存储信息并传递给租金?
我有4个模特:
User
Product
Rent
Category
我在Rent中创建了一个名为customer_id
的新专栏,并且我已经通过了该课程"用户":
class Product < ActiveRecord::Base
belongs_to :user
belongs_to :category
belongs_to :rents
class User < ActiveRecord::Base
has_many :products
has_many :rents
has_many :customer_id, :through => :rent
class Rent < ActiveRecord::Base
belongs_to :user
belongs_to :product
belongs_to :customer, :class_name => "User"
end
我想我需要创建一个按钮来检索我需要的信息。我搜索了文档,但我找不到它。
答案 0 :(得分:4)
这一行:has_many :customer_id, :through => :rent
在Rails中永远不会有意义。如果你说has_many :customer_id
,那你就犯了两个错误:
has_many
后写什么,都应该是复数。has_many
之后撰写的内容与您的模型名称不直接对应,则必须明确提及class_name
。当你说:
时,你会重复同样的错误class Product < ActiveRecord::Base
belongs_to :rents # it should be rent.
end
现在谈到你实际想要实现的目标:
class Rent < ActiveRecord::Base
belongs_to :user
has_one :product
has_one :customer
end
在Product
和Customer
表中,您需要将rent_id
定义为外键。你还应该提到他们每个人belongs_to
Rent
。