gpt4 book ai didi

ruby-on-rails - 保存模型时的关联 “is invalid”

转载 作者:行者123 更新时间:2023-12-03 16:11:36 26 4
gpt4 key购买 nike

我有一个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部署中发生。

最佳答案

我只是想出自己的问题。我的Club类包含一个虚拟属性:password,该属性仅在创建俱乐部时使用,否则应忽略。事实证明,由于存在错误,否则不会忽略密码,并且在保存俱乐部关联时会对其进行验证。因此,吉姆·斯图尔特(Jim Stewart)的评论是正确的:俱乐部实际上是无效的,即使我认为确实如此。

在开发中不会出现问题的原因是我在开发环境中关闭了密码验证,因此可以使用简单的密码进行测试。

关于ruby-on-rails - 保存模型时的关联 “is invalid”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15455015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com