attr_readonly(*attributes) public

Attributes listed as readonly will be used to create a new record but update operations will ignore these fields.

You can assign a new value to a readonly attribute, but it will be ignored when the record is updated.

Examples

class Post < ActiveRecord::Base
  attr_readonly :title
end

post = Post.create!(title: "Introducing Ruby on Rails!")
post.update(title: "a different title") # change to title will be ignored
Show source
Register or log in to add new notes.
September 9, 2015
1 thank

Warning: prevents persistence but doesn't prevent setting

For example:

class Widget < ActiveRecord::Base
  attr_readonly :key
end
w = Widget.create! key: 'foo'
w.update! key: 'bar'
w.key #=> 'bar'
w.reload.key #=> 'foo'