Again, how about<div><br></div><div>class Person</div><div>  attr_accessor :underpants_i_am_trying</div><div>end</div><div><br></div><div>person.underpants_i_am_trying = boxers</div><div><br></div><div>When you're ready to commit to those underpants:</div>
<div><br></div><div>person.underpants = person.underpants_i_am_trying</div><div><br></div><div>-Anthony<br><br><div class="gmail_quote">On Thu, Sep 23, 2010 at 3:54 PM, Tim Cowlishaw <span dir="ltr"><<a href="mailto:tim@timcowlishaw.co.uk">tim@timcowlishaw.co.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div><br></div><div><br></div>Actually sorry, I haven't explained this that well.<div>
<br></div><div>Looking at my original example:</div><div><br></div><div><br></div><div>We have </div><div class="im"><div><br></div><div>person.underpants = boxers<br>person.save</div><div><br></div></div><div>then we call</div>
<div><br></div><div>person.underpants.build(:style => 'yfronts')</div><div><br></div><div>this doesn't save the yfronts instance, sure, but it DOES null out the foreign key constraint on the 'boxers' row - thus rendering our customer underpantless untill they commit to wearing the yfronts </div>
<div><br></div><div>(btw, this isn't the real business domain of the app we're working on)</div><div><br></div><div>So, the problem isn't that the new record gets saved (it doesn't), but that the old one is prematurely removed from the association.</div>
<div><br></div><div>I realise it's a bit of a corner case, but it seems like an unlikely bit of behavour.</div><div><br></div><div>Thanks for your help, all!</div><div><br></div><div>Cheers</div><div><br></div><font color="#888888"><div>
Tim</div></font><div><div></div><div class="h5"><div><br></div><div><div><div>On 23 Sep 2010, at 14:49, Tim Cowlishaw wrote:</div><br><blockquote type="cite"><div style="word-wrap:break-word"><br><div><div>On 23 Sep 2010, at 14:47, Mr Jaba wrote:</div>
<br><blockquote type="cite"><ul><li><p>If you wish to assign an object to a <tt><a href="http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_one" target="_blank">has_one</a></tt>
 association
without saving it,
</p>
</li></ul><p>
use the <tt>association.build</tt> method (documented below).
</p>
</blockquote><br></div><div>Ok, see - that's what I thought, but it's clearly doing something different for me! Occam's razor says I probably have a callback lying around that I hadn't thought about, that's being too eager about saving things. Will double check!</div>
<div><br></div><div>Thanks for the help!</div><div><br></div><div>Cheers,</div><div><br></div><div>Tim</div><br></div></blockquote></div><br></div></div></div></div><br>_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>
<a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>GMU/IT d- s: a33 C++(++++)$ UL@ P--- L+(++) !E W+++$ !N o? K? w--- !O M++ V PS+ PE Y PGP t+ !5 X- R tv b++ DI+ D++ G- e++ h---- r+++ y++++**<br><br><a href="http://anthony.mp">http://anthony.mp</a><br>

</div>