ruby-on-rails – 没有这样的列:以下多对多关联中的书签
发布时间:2020-12-17 02:44:39 所属栏目:百科 来源:网络整理
导读:我有一个帖子和一个用户模型.我正在尝试添加书签模式,以便用户可以为帖子添加书签.我正在使用连接模型: schema.rb: create_table "bookmarks",:force = true do |t| t.integer "bookmarker_id" t.integer "bookmarked_id" t.datetime "created_at",:null =
我有一个帖子和一个用户模型.我正在尝试添加书签模式,以便用户可以为帖子添加书签.我正在使用连接模型:
schema.rb: create_table "bookmarks",:force => true do |t| t.integer "bookmarker_id" t.integer "bookmarked_id" t.datetime "created_at",:null => false t.datetime "updated_at",:null => false end bookmark.rb: class Bookmark < ActiveRecord::Base attr_accessible :bookmarked_id belongs_to :bookmarker,class_name: "User" belongs_to :bookmarked,class_name: "Post" validates :bookmarker_id,presence: true validates :bookmarked_id,presence: true end post.rb: has_many :bookmarks,:dependent => :destroy has_many :bookmarkers,:through => :bookmarks user.rb: has_many :bookmarks,:dependent => :destroy has_many :bookmarked_posts,:through => :bookmarks,source: :bookmarked 我试着测试终端中的关联,但我明白了: 1.9.3-p0 :007 > user.bookmarks Bookmark Load (0.4ms) SELECT "bookmarks".* FROM "bookmarks" WHERE "bookmarks"."user_id" = 1 ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: bookmarks.user_id: SELECT "bookmarks".* FROM "bookmarks" WHERE "bookmarks"."user_id" = 1 可能是什么问题呢? 解决方法
你没有指定foreign_key,异常清楚地说
no such column: bookmarks.user_id 加上 has_many :bookmarks,:foreign_key => 'bookmarker_id' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |