Ruby on Rails Monday, June 3, 2013

Hmm thanks. Is it worth it to report this to the Rails team?

On Monday, June 3, 2013 5:17:37 PM UTC+2, Rick wrote:

I just noticed that your error does, in fact, appear in my output.  However, if I run inside of the rails console I don't see the redundant "Here".  i.e.:

/Dagnan/rails_inverse_of 659 > rails c
Loading development environment (Rails 3.2.13)
irb(main):001:0> c = Campaign.new
=> #<Campaign id: nil, created_at: nil, updated_at: nil, recurrence_id: nil>
irb(main):002:0> c.recurrence = Recurrence.new
=> #<Recurrence id: nil, created_at: nil, updated_at: nil>
irb(main):003:0> c.save!
   (0.1ms)  begin transaction
  SQL (5.1ms)  INSERT INTO "recurrences" ("created_at", "updated_at") VALUES (?, ?)  [["created_at", Mon, 03 Jun 2013 15:15:11 UTC +00:00], ["updated_at", Mon, 03 Jun 2013 15:15:11 UTC +00:00]]
Here
  SQL (0.5ms)  INSERT INTO "campaigns" ("created_at", "recurrence_id", "updated_at") VALUES (?, ?, ?)  [["created_at", Mon, 03 Jun 2013 15:15:11 UTC +00:00], ["recurrence_id", 1], ["updated_at", Mon, 03 Jun 2013 15:15:11 UTC +00:00]]
Here
   (49.1ms)  commit transaction
=> true
irb(main):004:0> c
=> #<Campaign id: 1, created_at: "2013-06-03 15:15:11", updated_at: "2013-06-03 15:15:11", recurrence_id: 1>
irb(main):005:0>

My guess is it's a "test mode" artifact of some kind.


On Monday, June 3, 2013 11:13:26 AM UTC-4, Rick wrote:
I cannot duplicate your error running your github example.  Here's what I see:

/Dagnan/rails_inverse_of 656 > rails --version
Rails 3.2.13
/Dagnan/rails_inverse_of 657 > ruby --version
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.3.0]
/Dagnan/rails_inverse_of 658 >  ruby -Itest test/unit/campaign_test.rb
Run options:

# Running tests:

[1/1] CampaignTest#test_create_a_campaign_with_recurrenceHere
Here
Finished tests in 0.195217s, 5.1225 tests/s, 0.0000 assertions/s.
1 tests, 0 assertions, 0 failures, 0 errors, 0 skips

ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.3.0]
/Dagnan/rails_inverse_of 659 >

On Monday, June 3, 2013 1:55:29 AM UTC-4, Michel Pigassou wrote:
Help?

On Friday, May 31, 2013 7:39:30 PM UTC+2, Michel Pigassou wrote:
Hi.

I created an app to illustrate my problem: https://github.com/Dagnan/rails_inverse_of

I have a model with a belongs_to, and the other with a has_one. So far so good.
When I configure the option inverse_of on both model and I perform a simple #save on the main object, it is actually saved two times (once saved and then updated).

Is it an expected behavior?

A way to avoid this problem would be not to use inverse_of, or to have "autovalidate: false" in the second model (Recurrence in my example) for the has_one association.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/6e59fec1-161b-4ae6-bb3a-2e7f09438291%40googlegroups.com?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment