拥有它所属的东西

时间:2012-12-07 14:14:12

标签: ruby-on-rails ruby-on-rails-3

我有User和Todo模型

Todo belongs_to用户和用户has_many todos

待办事项可以标记为"完成"我想存储标记它的用户。

我有这个迁移

class CreateTodos < ActiveRecord::Migration
def self.up
    create_table :todos do |t|
      t.integer :done_by_user
    end
  end
end

现在我想存储标记todo的用户的用户ID:done_by_user

我在Todo课程中试过这个

has_one :done_by_user, :class_name => "User"

和这个

has_one :done_by_user, :through => :user

我该怎么做?

1 个答案:

答案 0 :(得分:1)

在您的Todo课程中:

belongs_to :done_by_user, :class_name => "User", :foreign_key => "done_by_user"

在您的用户班

has_many :done_todos, :class_name => "Todo", :foreign_key => "done_by_user"

现在你可以这样做:

user.done_todos   => ['done_todo_1', 'done_todo_2', ... , 'done_todo_n']
todo.done_by_user => < User Object >