我有一个用户表(id,username,...),我有一个任务表,这意味着任务信息:任务名称,创建者的id和任务解算器的id。
这是我的dbase逻辑:
class User < ActiveRecord::Base
has_many :tasks, :foreign_key=>"creator_id"
has_many :tasks, :foreign_key=>"solver_id"
end
class Task < ActiveRecord::Base
belongs_to :user
end
这是对的吗?在任务列表中,我想打印创建者名称。我怎么能这样做?
答案 0 :(得分:1)
在您想要的任务模型中:
belongs_to :creator, :foreign_key => "creator_id", :class_name => "User"
belongs_to :solver, :foreign_key => "solver_id", :class_name => "User"
并在您的用户模型中:
has_many :created_tasks, :foreign_key=>"creator_id", :class_name => "Task"
has_many :solved_tasks, :foreign_key=>"solver_id", :class_name => "Task"
所以现在你可以这样做:
@user.created_tasks
@user.solved_tasks
和@task.creator
和@task.solver