On 12-03-2014 08:23, Anh Nguyen wrote:
POLA http://en.wikipedia.org/wiki/Principle_of_least_astonishment
Examples
```
# user.rb
class User < ActiveRecord::Base
attr_accessible :name, :username
validates :username, uniqueness: true
end
user1 = User.create(name: 'Name 1', username: 'username1')
user2 = User.create(name: 'Name 2', username: 'username2')
user1.username = 'username2'
user1.save # => false
user1.update_attribute(name: 'New Name')
user1.reload
user1.username # => 'username2'
# update_attribute is expected to update the specified attribute, not
other ones. Thus it is violating POLA
```
I don't understand. What were you expecting?
You have updated the name, not the username.
--
You received this message because you are subscribed to the Google Groups "Ruby on
Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.