我遇到错误:
pg :: UndefinedTable:错误:关系" profiles_rsl_codes"不存在第5行:
当我尝试销毁个人资料时。
我有一个名为rsl_codes_profiles
的表,在我的个人资料模型中,我有
has_many :rsl_codes_profiles, class_name: "RslCodesProfile", dependent: :destroy
,在我的RslCodesProfile
类中,我有:
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
可能有一些迁移和撤消迁移和更改该表的名称,然后在可能有影响的情况下移民。
对我的应用程序的全局搜索找不到对profiles_rsl_codes
或ProfilesRslCodes
的任何引用或这些的单数。
错误回溯仅指向我做@profile.destroy
的位置,其余的痕迹是所有框架的东西。
有什么想法?
尝试重新创建DB 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"
试图使用我删除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
当我添加加入表以实现结果时,没有调整这些关系。