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.

Reply via email to