I have temporarily solved the problem (till I upgrade) with the following code in one of my libraries
class ActiveRecord::Base def assign_attributes(attributes) attributes.each_pair { |k, v| send("#{k}=", v) if respond_to?("#{k}=") } if attributes end end If you see any issue with this in 3.0.5 then please provide feedback - seems to work ok. I got this code from a posting in one of the forums. Thanks, -S On Wednesday, September 3, 2014 11:41:59 AM UTC-7, Matt jones wrote: > > assign_attributes went away in the move from 2.3 -> 3.0, then re-appeared > for 3.1.0. In 3.0.5, the closest equivalent is plain `attributes=`. > > Regarding security updates, the best versions to use security-wise are > always (in descending order of preference): > > * GREAT: the current release version (4.1.5 now, with 4.2 in beta) > > * OKAY: the most-recent release of the previous version (4.0.9) > > * KINDA NOT ENTIRELY BAD: the most-recent release of the any versions > before *that* (3.2.19, 3.1.12, 3.0.20) > > Older versions *only* get security updates, so the final releases in a > particular line are almost always solving important security issues. > > —Matt Jones > > On Sep 3, 2014, at 10:12 AM, skt <stib...@gmail.com <javascript:>> wrote: > > Thanks Ryan. > > I have a User model (using Devise/Omniauth) and I call the > assign_attributes on an instance of User. > > Part of what I am wondering is why isn't there a definition of > assign_attributes in the ActiveRecord::Base class in 3.0.5 that I am using. > > Thanks for any insights/pointers. > > -S > > On Tuesday, September 2, 2014 9:37:20 PM UTC-7, Ryan Bigg wrote: >> >> Hi skt, >> >> First of all: I would highly encourage you to upgrade immediately to at >> least 3.0.20. >> >> Second: What method are you calling exactly to get that error? >> >> >> On Wed, Sep 3, 2014 at 2:35 PM, skt <stib...@gmail.com> wrote: >> >>> Hello, >>> >>> I am on an old version of Rails (3.0.5) and can't upgrade right now. >>> When I try to use assign_attributes on a model I get the error that the >>> method is not found as below >>> >>> NoMethodError - undefined method `assign_attributes' for >>> #<User:0x007ffb7c2ae638>: >>> activemodel (3.0.5) lib/active_model/attribute_methods.rb:364:in >>> `method_missing' >>> activerecord (3.0.5) lib/active_record/attribute_methods.rb:46:in >>> `method_missing' >>> >>> I searched for the method in the classes where update_attributes is >>> defined but indeed I couldn't find assign_attributes defined in any of the >>> gems. From the history of the method in the docs >>> <http://apidock.com/rails/v3.1.0/ActiveRecord/Base/assign_attributes> I >>> understand it was created in 2.3.8 so I would think the method would be >>> there in 3.0.5. >>> >>> Any thoughts on why my ActiveRecord 3.0.5 gem doesn't have this method >>> defined? >>> >>> Thanks, >>> -S >>> >>> -- >>> 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 rubyonrails-co...@googlegroups.com. >>> To post to this group, send email to rubyonra...@googlegroups.com. >>> Visit this group at http://groups.google.com/group/rubyonrails-core. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> > -- > 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 rubyonrails-co...@googlegroups.com <javascript:>. > To post to this group, send email to rubyonra...@googlegroups.com > <javascript:>. > Visit this group at http://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/d/optout. > > > -- 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 rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.