मैं इस तरह के कोड मॉडल कारखाना है:FactoryGirl: मुझे जुड़ा नहीं दे रही है attributes_for विशेषताओं
Factory.define :code do |f|
f.value "code"
f.association :code_type
f.association(:codeable, :factory => :portfolio)
end
लेकिन जब मैं इस तरह एक साधारण test_should_create_code के साथ अपने नियंत्रक का परीक्षण:
test "should create code" do
assert_difference('Code.count') do
post :create, :code => Factory.attributes_for(:code)
end
assert_redirected_to code_path(assigns(:code))
end
... परीक्षण विफल रहता है। नया रिकॉर्ड नहीं बनाया गया है।
कंसोल में, ऐसा लगता है कि attributes_for
बनाता है जैसे सभी आवश्यक गुण वापस नहीं करता है।
[email protected]:~/dev/my_rails_app$ rails console test
Loading test environment (Rails 3.0.3)
irb(main):001:0> Factory.create(:code)
=> #<Code id: 1, code_type_id: 1, value: "code", codeable_id: 1, codeable_type: "Portfolio", created_at: "2011-02-24 10:42:20", updated_at: "2011-02-24 10:42:20">
irb(main):002:0> Factory.attributes_for(:code)
=> {:value=>"code"}
कोई विचार?
धन्यवाद,
इसमें टाइमस्टैम्प, आईडी इत्यादि लौटने का अनचाहे दुष्प्रभाव है ... वास्तव में सभी समस्याओं के लिए समाधान नहीं है – coneybeare
@ कॉनीबीयर: इसके लिए एक आसान फिक्स है। Http://stackoverflow.com/questions/10290286/factorygirl-why-does-attributes-for-omit-some-attributes –
पर समाधान देखें मेरे लिए काम नहीं: यह दिखाता है "MassAssignmentSecurity :: त्रुटि: द्रव्यमान नहीं हो सकता है- संरक्षित विशेषताओं को असाइन करें: id, created_at, update_at .. " –