2014-07-05 30 views
1

我的两个型号rails_admin不能删除HABTM对象

class Team < ActiveRecord::Base 
    has_and_belongs_to_many :releases 
end 

class Release < ActiveRecord::Base 
    has_and_belongs_to_many :teams 
end 

class ReleasesTeam < ActiveRecord::Base 
end 

当我尝试删除一个团队或发布关于rails_admin,我得到一个错误:

undefined method `releases_teams' for #<Release:0x007fe57b0a9f20> 

上调该行

def method_missing(method, *args, &block) 
    if respond_to_without_attributes?(method, true) 
    super 
    else 
    match = match_attribute_method?(method.to_s) 
    match ? attribute_missing(match, *args, &block) : super #ERROR RAISED HERE 
    end 
end 

我在这里错过了什么?

编辑:

人Pavan的评论之后,我删除ReleasesTeam模型。 DB模式现在看起来是这样的:

create_table "releases", force: true do |t| 
    t.text  "notes" 
end 

create_table "teams", force: true do |t| 
    t.string "name" 
end 

create_table "releases_teams", id: false, force: true do |t| 
    t.integer "team_id" 
    t.integer "release_id" 
end 

我重置DB,仍然得到同样的错误

+0

好像你为你的连接表创建了一个'模型'。如果是这样,你应该删除该模型,因为'HABTM连接表'不应该有一个'模型'关联它。 – Pavan

+0

仍然收到相同的错误。 – PeaceDefener

回答