ruby-on-rails – 无法找到源关联:Rails 3.2中模型关系中的foll
在请求我的示例应用程序的主页时,我收到以下错误消息(遵循Michael Hartl的教程第11章):
这真的很奇怪,因为我完全按照教程的说明进行操作.我甚至复制粘贴每个代码片段. 我的用户模型(摘录): class User < ActiveRecord::Base has_many :relationships,foreign_key: "follower_id",dependent: :destroy has_many :followed_users,through: :relationships,source: "followed_id" has_many :reverse_relationships,foreign_key: "followed_id",class_name: "Relationship",dependent: :destroy has_many :followers,through: :reverse_relationships,source: :follower 我的关系模型: class Relationship < ActiveRecord::Base attr_accessible :followed_id belongs_to :follower,class_name: "User" belongs_to :followed,class_name: "User" validates :follower_id,presence: true validates :followed_id,presence: true end 我的迁移文件: class CreateRelationships < ActiveRecord::Migration def change create_table :relationships do |t| t.integer :follower_id t.integer :followed_id t.timestamps end add_index :relationships,:follower_id add_index :relationships,:followed_id add_index :relationships,[:follower_id,:followed_id],unique: true end end 我一直试图解决这个问题,但我根本不知道问题可能是什么(从教程中准确复制代码). 解决方法
发现错误:
在我的用户模型中,我不得不改变 has_many :followed_users,source: "followed_id" 至 has_many :followed_users,source: :followed 在Hartl的教程清单11.10 http://ruby.railstutorial.org/book/ruby-on-rails-tutorial#code:has_many_following_through_relationships中似乎是一个错字,因为那是我得到的“source:”follow_id“”代码. 我从Hartl的github“示例应用程序”中获得了固定代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |