我有一个 Club 模型和一个 Member 模型,它们通过 Membership 模型关联。换句话说
class Club < ActiveRecord::Base
has_many :members, :through => :memberships
end
class Member < ActiveRecord::Base
has_many :clubs, :through => :memberships
end
但是,当我尝试创建新成员并将其添加到俱乐部时,我收到一条错误消息,提示该俱乐部无效。
> club = Club.find(1)
> member = Member.new(:name => 'Member Name')
> member.clubs << club
> member.save
该member.save
语句将返回 false。查看 member.errors.messages,我发现
> member.errors.messages
@messages={:clubs=>["is invalid"]}
真正奇怪的是,这不会发生在我的开发环境(使用 sqlite3)中,而只会发生在我使用 mySQL 的 EngineYard 部署中。