- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
情况是这样的。
Gems:rails 3.2,factory_girl 2.5.1
class House
has_one :address, :as => :addressable
validates :address, :presence => true
accepts_nested_attributes_for :address
end
class Address
attr_accessor :nested
belongs_to :addressable, :polymorhic => true
validates :addressable, :presence => true, :unless => :nested
end
这是如何运作的。
<%= form_for @house do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for :address do |a| %>
<%= a.hidden_field :nested %>
<%= a.label :street_address %>
<%= a.text_field :street_address %>
定义工厂的正确方法是什么?
# does not work
Factory.define :house do |h|
h.association :address
end
# does not work
Factory.define :house do |h|
h.after_build do |record|
Factory.build(:address, :addressable => record, :nested => '')
end
end
# does not work
Factory.define :house do |h|
h.after_build do |record|
Factory.create(:address, :addressable => record, :nested => '')
end
end
所以基本上,允许 accepts_nested_attributes_for :address 绕过验证并同时创建两条记录的“技巧”在 factory_girl 中不起作用。目前,这个丑陋的烂摊子是唯一的解决方案。
home = House.new
home.name = 'On the prairie'
home.address_attributes = Factory.attributes_for(:address, :nested => '')
home.save
更新解决方案:
Factory.define :house do |h|
h.after_build do |record|
record.address = Factory.build(:address, :addressable => record)
end
end
最佳答案
您的第二次 FactoryGirl 尝试已接近尾声,但您需要对构建的地址做一些事情。
FactoryGirl.define do
factory :house do
after_build do |house|
house.address = Factory.build(:address)
end
end
end
关于ruby-on-rails - ruby on rails、factory_girl、validates_presence_of 和多态关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9188158/
我有一个模型。我想在这个模型中导入一个模块。 在这个模块中,我想为导入它的模型插入一个 validates_presence_of 我想知道是否以及如何做这样的事情: class Ele < Acti
我有三个模型 model1、model12 和 mode2。模型 1 有很多模型 2 到模型 12。 我必须通过 model12 验证 model2 的存在。 当我尝试保存 model1 的编辑记录时
我有多个字段应该使用存在选项进行验证。 我正在尝试使用 validates_presence_of而不是 validates . 这是我的代码 validates_presence_of : firs
我在 Rails 指南中看到,在模型中提到外键并不会真正在数据库中创建外键。 validates_presence_of 是这样吗?迁移时是否需要自己添加NOT NULL约束。 P.S 当我尝试在我的
我正在研究 validates_presence_of 的实际工作原理。假设我有两个模型 class Project 'foo', :project_id => 1334, :project =>
有两个类: class Person include Mongoid::Document field :name embeds_many :addresses end class Addr
我认为问题在于这是一个自定义模型。 错误: undefined method `validates_presence_of' for Calculation:Class 我的模型: class Cal
在 ActiveRecord 模型中,当还使用 validates_length_of 时,使用 validates_presence_of 是否被认为是最佳实践/必要? 例如: class Comp
我在基于 ActiveRecord 的模型中有一个如下所示的关系: belongs_to :foo 我的模型应该始终在其中定义 foo 才能有效。我的问题是,当使用 validates_presenc
重现此问题的正确步骤: prompt> rails test_app prompt> cd test_app prompt> script/generate model event_service p
我正在创建一个 Rails 应用程序,并且有一个名为 User 的模型。在此模型中,我有一个名为 isagirl 的 bool 值。用户必须指定它是否是女孩,这是通过两个单选按钮完成的。在我的模型中我
我有 2 个模型: # user.rb class User :destroy end # profile.rb class Profile # @user.profile => # @user
我理解这些陈述的作用,但不知道如何引用它们。它们存在于一个类中,在该类的方法之外,并执行各种功能。 它们统称为什么? 最佳答案 这些方法实际上只是类方法。试试这个: class Test def
我需要验证模型中的数据,然后使用 rspec 测试该模型: 这是模型中的验证: validates_presence_of :sales_price validates_presence_of :re
情况是这样的。 Gems:rails 3.2,factory_girl 2.5.1 class House has_one :address, :as => :addressable vali
根据Rails 3 release notes, validate_presence_of is deprecated . 但是,我在 the documentation (for v4.0.2) 中
我有一个运行良好的模型: class Weight :user_id 它开始在验证时抛出错误。不是验证错误而是 Ruby 错误: >> w.valid? ActiveRecord::MissingA
我有一个用户模型和一个友谊模型。 class Friendship 'User', :foreign_key=>'sender_id' belongs_to :receiver, :class_n
从 FactoryGirl 2.5.2 升级到 4.5.0 后,belongs_to 关联验证失败。 两个模型文件: class User > user = create(:user) ( ret
我有一个简单的联想: class Account to be valid, but it was not Errors: Users has to be present 好吧,我设置了正确的关联,但
我是一名优秀的程序员,十分优秀!