- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个用户模型和一个友谊模型。
class Friendship < ActiveRecord::Base
belongs_to :sender, :class_name=>'User', :foreign_key=>'sender_id'
belongs_to :receiver, :class_name=>'User', :foreign_key=>'receiver_id'
validates_presence_of :receiver_id, :sender_id
validates_associated :receiver, :sender
end
class User < ActiveRecord::Base
has_many :sent_friendships, :class_name => "Friendship", :foreign_key => "sender_id", :dependent => :destroy
has_many :received_friendships, :class_name => "Friendship", :foreign_key => "receiver_id", :dependent => :destroy
end
我的 rspec 测试之一是
describe Friendship do
before(:each) do
@valid_attributes = {
:sender_id => 1,
:receiver_id => 2,
:accepted_at => nil
}
end
it "should not be valid with non-existant receiver_id" do
f = Friendship.new(@valid_attributes)
f.receiver_id = 99999
f.should_not be_valid
end
end
测试不应该是有效的,因为没有 user_id 9999 的用户。但是测试表明友谊模型是有效的。
为什么会这样?
编辑:
但我想像上面提到的那样进行测试 -> 而不是直接分配发件人。这不可能吧??
最佳答案
如果您希望您的模型以这种方式工作,请更改:
validates_presence_of :receiver_id, :sender_id
为此:
validates_presence_of :receiver, :sender
关于ruby-on-rails - validates_associated 和 validates_presence_of 没有按预期与 rspec 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752921/
我有以下 validates_associated 场景 class Parent include Mongoid::Document validates_associated :son
我有两个模型 Post 模型和 Comment 模型。首先,如果创建一个帖子,它的帖子 ID 为 1,然后在创建评论时,我可以使用等于 1 的 post_id 与帖子关联,但是如果我创建一个帖子 ID
我有这些模型:Post、TextPost 和 PhotoPost,我使用多态关联。 可以找到这三个型号here或看下面。 post.rb class Post " } end text_post.
我在模型中使用 validates_associated 来使用其他模型的验证代码。问题是验证失败的消息是“..无效”。 我想将模型验证失败的实际描述性错误冒泡到顶部! 我发现了这个问题: valid
我一直在阅读有关 Rails 验证的内容,validates_associated 方法验证所有子记录(不仅仅是新记录),而 has_many 关联的默认验证是仅保存新的子记录。 从概念上讲,我理解这
是否有等同于 it { should validate... it { should validate_uniqueness_of( 等等 validates_associated 有点像,
Rails 3 包括 validates_associated保存嵌套模型时会自动调用它。该方法的问题是消息很糟糕 - “模型无效” 对于 Rails 2,有一些帖子针对此问题进行了攻击: http:
似乎在 Rails 中,您可以在两个位置定义关联验证,或者在关联本身上: class Child belongs_to :parent, :validate => true end 或者作为验证回
我有一个用户模型和一个友谊模型。 class Friendship 'User', :foreign_key=>'sender_id' belongs_to :receiver, :class_n
我是一名优秀的程序员,十分优秀!