rails 依赖销毁寻找不存在的 table
rails dependent destroy looking for non existing table
我遇到错误:
PG::UndefinedTable: ERROR: relation "profiles_rsl_codes" does not exist LINE 5:
当我试图破坏个人资料时。
我有一个名为 rsl_codes_profiles
的 table,在我的个人资料模型中有
has_many :rsl_codes_profiles, class_name: "RslCodesProfile", dependent: :destroy
在我的 RslCodesProfile
class 我有:
class RslCodesProfile < ActiveRecord::Base
belongs_to :rsl_code
belongs_to :profile
validates :rsl_code_id, :presence => true
validates :profile_id, :presence => true
validates :rel_type, :presence => true
end
可能有一些迁移和撤消迁移并更改其名称table然后重新迁移以防可能产生影响。
我的应用程序的全局搜索没有找到任何对 profiles_rsl_codes
或 ProfilesRslCodes
或它们的单数的引用。
错误回溯只指向我做的地方@profile.destroy
,其余的跟踪都是框架的东西。
有什么想法吗?
尝试重新创建数据库rake db:drop db:create db:migrate
向那些花时间试图帮助我解决这个问题的人表示歉意。错误在我没有添加到问题中的代码中。
我必须在我的 RslCode 模型中更改它
has_and_belongs_to_many :visible_rsl_codes, class_name: "RslCode", foreign_key: "code_visible_to_profile_ids"
has_and_belongs_to_many :visible_comment_rsl_codes, class_name: "RslCode", foreign_key: "comment_visible_to_profile_ids"
它试图使用 RslCode 中我已经删除的字段 code_visible_to_profile_ids
和 comment_visible_to_profile_ids
至此
has_many :code_rsl_code_profiles, -> { where rel_type: 'code' }, class_name: 'RslCodesProfile', source: :rsl_codes_profiles
has_many :visible_rsl_codes, :through => :code_rsl_code_profiles, class_name: 'RslCode', source: :rsl_code
has_many :comment_rsl_code_profiles, -> { where rel_type: 'comment' }, class_name: 'RslCodesProfile', source: :rsl_codes_profiles
has_many :visible_comment_rsl_codes, :through => :comment_rsl_code_profiles, class_name: 'RslCode', source: :rsl_code
因为我添加了连接表来实现结果并且没有调整这些关系。
我遇到错误:
PG::UndefinedTable: ERROR: relation "profiles_rsl_codes" does not exist LINE 5:
当我试图破坏个人资料时。
我有一个名为 rsl_codes_profiles
的 table,在我的个人资料模型中有
has_many :rsl_codes_profiles, class_name: "RslCodesProfile", dependent: :destroy
在我的 RslCodesProfile
class 我有:
class RslCodesProfile < ActiveRecord::Base
belongs_to :rsl_code
belongs_to :profile
validates :rsl_code_id, :presence => true
validates :profile_id, :presence => true
validates :rel_type, :presence => true
end
可能有一些迁移和撤消迁移并更改其名称table然后重新迁移以防可能产生影响。
我的应用程序的全局搜索没有找到任何对 profiles_rsl_codes
或 ProfilesRslCodes
或它们的单数的引用。
错误回溯只指向我做的地方@profile.destroy
,其余的跟踪都是框架的东西。
有什么想法吗?
尝试重新创建数据库rake db:drop db:create db:migrate
向那些花时间试图帮助我解决这个问题的人表示歉意。错误在我没有添加到问题中的代码中。
我必须在我的 RslCode 模型中更改它
has_and_belongs_to_many :visible_rsl_codes, class_name: "RslCode", foreign_key: "code_visible_to_profile_ids"
has_and_belongs_to_many :visible_comment_rsl_codes, class_name: "RslCode", foreign_key: "comment_visible_to_profile_ids"
它试图使用 RslCode 中我已经删除的字段 code_visible_to_profile_ids
和 comment_visible_to_profile_ids
至此
has_many :code_rsl_code_profiles, -> { where rel_type: 'code' }, class_name: 'RslCodesProfile', source: :rsl_codes_profiles
has_many :visible_rsl_codes, :through => :code_rsl_code_profiles, class_name: 'RslCode', source: :rsl_code
has_many :comment_rsl_code_profiles, -> { where rel_type: 'comment' }, class_name: 'RslCodesProfile', source: :rsl_codes_profiles
has_many :visible_comment_rsl_codes, :through => :comment_rsl_code_profiles, class_name: 'RslCode', source: :rsl_code
因为我添加了连接表来实现结果并且没有调整这些关系。