首先,我对Ruby,Rails和ActiveRecord相当陌生,所以详细的答案将非常感谢。ActiveRecord多对多自引用未初始化的常量错误
我想要实现的是一个模型,它与自身的多对多关系。它基本上是一个“用户有很多朋友(又名用户)”的设置。
这是我目前有我的表:
create_table "friendships" do |t|
t.integer "user_id"
t.integer "friend_id"
end
create_table "users" do |t|
t.string "email",
t.string "username",
# etc.
end
而这就是我对我的模型:
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, class_name: "User"
end
class User < ActiveRecord::Base
has_many :friendships
has_many :friends, through: :friendships
end
从我一直在读什么,这应该是给我想要什么。但是,当我尝试访问User
对象上的.friends
时,我收到uninitialized constant Friend
错误。 我搜索了一段时间没有运气。我真的不知道如何解决这个问题,但我错过了一些简单的事情。
如果有帮助,我在Ruby 2.0.0p247上使用Rails 4.0.1。
只是为了确认,你在这里使用哪个版本的Rails/ActiveRecord? –
哦,是的,完全忘了,我使用的是Rails 4.0,我会编辑它。 – wiill
你运行的是4.0.0还是4.0.1?刚刚试过这个确切的设置,在Rails 4.0.1下没有问题:https://gist.github.com/timdorr/7647415 –