用户创建程序.其他用户可以关注/喜欢这些.但是,该计划总是会有一个创作者.
所以我需要一个ProgramsUsers表来映射like / follow. “创建者”也会在该表中作为一种关系,还是一个程序也可以属于一个特定的用户?
所以本质上:
Program.rb
class Program < ActiveRecord::Base has_and_belongs_to_many :users #Likes/Follows belongs_to :user #Creator
这是可接受的还是这种糟糕的建模?
解决方法
我相信你可以做这样的事情
class Program < ActiveRecord::Base has_and_belongs_to_many :users #Likes/Follows belongs_to :creator,::class_name => 'User',:foreign_key => 'creator_id'
这样,您可以在程序表上创建一个creator_id字段,并使用@ program.creator访问它.哦,顺便说一句,这不是糟糕的建模.