如何将两个字段与Ruby on Rails联系起来?

时间:2009-09-25 00:11:57

标签: ruby-on-rails ruby foreign-key-relationship

刚开始使用Ruby on Rails看看它是什么样的。

我有一个带有id的用户模型和一个带有adderId的帖子模型。 post模型的adderId应该是创建它的用户的用户ID。

我如何将这些与Ruby on Rails联系起来?

2 个答案:

答案 0 :(得分:5)

外键的Rails约定会为Post模型提供user_id列而不是adderId。您可以违反约定,但这需要稍多的配置,如下所示:

class User < ActiveRecord::Base
  has_many :posts, :foreign_key => :adderId
end

class Post < ActiveRecord::Base
  belongs_to :adder, :class_name => "User", :foreign_key => :adderId
end

如果你给了一个user_id,你可以这样做:

class User < ActiveRecord::Base
  has_many :posts
end

class Post < ActiveRecord::Base
  belongs_to :user
end

我建议您查看Rails Guide for Active Record Associations,其中涵盖了以上所有内容以及更多内容。

答案 1 :(得分:1)

看起来this question似乎正在做你正在尝试做的事情。

很抱歉,如果我误解了你的问题,我也不熟悉Ruby on Rails。