我有一个用户模型
class User < ActiveRecord::Base has_many :languages,:dependent => :destroy accepts_nested_attributes_for :languages,:reject_if => lambda { |l| l[:name].blank? } end
我想用RSpec 2.0.0测试reject_if部分.目前我有两个简单的测试用例
it "should not save language without name by accepts_nested_attributes" do lambda { @user.update_attributes!("languages_attributes"=>{"0"=>{}}) }.should_not change(Language,:count) end it "should save language with name by accepts_nested_attributes" do lambda { @user.update_attributes!("languages_attributes"=>{"0"=>{"name"=>"lang_name"}}) }.should change(Language,:count).by(1) end