如何在Rails中创建租金

时间:2015-07-17 21:12:58

标签: ruby-on-rails ruby model-view-controller system store

我正在尝试开发租赁系统,用户可以登录,创建产品,其他用户可以租用他的产品。

我的问题是,我不知道如何创建检索product_idcustomer_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

我想我需要创建一个按钮来检索我需要的信息。我搜索了文档,但我找不到它。

1 个答案:

答案 0 :(得分:4)

这一行:has_many :customer_id, :through => :rent在Rails中永远不会有意义。如果你说has_many :customer_id,那你就犯了两个错误:

  1. 无论你在has_many后写什么,都应该是复数。
  2. 如果您在has_many之后撰写的内容与您的模型名称不直接对应,则必须明确提及class_name
  3. 当你说:

    时,你会重复同样的错误
    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
    

    ProductCustomer表中,您需要将rent_id定义为外键。你还应该提到他们每个人belongs_to Rent