我是精彩Rails世界的初学者,但我发现了一些困难。
这是我的情况:
我有一些用户,使用Webapps的用户,并且出现了一个连接表," Quota",用于跟踪每个webapp上每个用户的活动。
因此,在Quota的数据库表中我们找到:user_id,webapp_id,quantity:int。
我的模特:
class Webapp < ActiveRecord::Base
#has_many :webapps_quota, :through => :quota, source: :user
has_and_belongs_to_many :quota
accepts_nested_attributes_for :quota
end
class Webapp < ActiveRecord::Base
#has_many :webapps_quota, :through => :quota, source: :webapp
has_and_belongs_to_many :quota
accepts_nested_attributes_for :quota
end
class Quota < ActiveRecord::Base
belongs_to :user
belongs_to :webapp
accepts_nested_attributes_for :user
accepts_nested_attributes_for :webapp
end
我非常渴望如何解决这个问题。例如,如何向用户显示配额?
感谢您的帮助。
答案 0 :(得分:0)
要在关联表中添加属性,您应该使用has_many through
关联:
class User < ActiveRecord::Base
has_many :quotas
has_many :webapps, through: :quotas
end
class Quota < ActiveRecord::Base
belongs_to :user
belongs_to :webapp
end
class Webapp < ActiveRecord::Base
has_many :quotas
has_many :users, through: :quotas
end
您的问题:How do I show his quota to an user for example?
user = User.find(1)
user.quotas #display the quotas for that user
user.webapps #display the webapps for that user