On 27/10/06, Farrel Lifson <farrel.lifson / gmail.com> wrote: > On 27/10/06, Joe Ruby MUDCRAP-CE <joeat303 / yahoo.com> wrote: > > In Rails (it's more of a Ruby question though ;) ), I have: > > > > def before_update > > @var = get_old_var_value > > end > > > > and if get_old_var_value returns a false value it causes the update to > > cancel. Is there some function that'll return true after setting the > > var? Something like, oh I dunno, set_var(:var, get_old_var_value). > > Rails' write_attribute also seems to return the value of the var (so > > false causes problems with it too). I know I can just simply do this: > > > > def before_update > > @var = get_old_var_value > > true > > end > > > > But I'm just curious if there are other approaches. > > > > Thanks, > > Joe > > > > -- > > Posted via http://www.ruby-forum.com/. > > def before_update > @var = get_old_var_value || true > end > > This returns get_old_var_value if it's not false (or nil) or true > otherwise. Is that what you need? > > Farrel > > Whoops there's a syntax error in my solution. You want (@var = get_old_var_value) || true otherwise you risk setting @var to true when get_old_var is false. Farrel