Ruby on Rails
Monday, June 24, 2013
On Sunday, 23 June 2013 20:22:26 UTC-7, Bob O wrote:
This is the TransactionAttributesmodule TransactionAttributesdef successsuccessenddef success=(success)self.success = successend
That's the problem right there - this method is calling itself. If you want to define a getter / setter, you should either do this:
def success
@success
end
def success=(value)
@success = value
end
---
Or this (preferred, if you're just storing a value, as above):
attr_accessor :success
def errorserrorsenddef errors=(errors)self.errors = errorsendend
These will break some things - ActiveRecord already defines an `errors` method + `errors=` assignment operator, and expects them to behave in a particular way (for instance, the validations assume that you can make calls like `some_model.errors.add(:some_attribute, 'message')`).
I highly recommend reading through the guides (http://guides.rubyonrails.org/) or following some of Michael Hartl's excellent tutorial (http://ruby.railstutorial.org/) in preference to digging through Stack Overflow - the answers there are incredibly useful if you've got a highly specific problem, but they can sometimes miss the bigger picture.
Hope this helps,
--Matt Jones
-- 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/d64093f3-4bb5-4d4c-b02c-af2c1018a196%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment