# Association proxy create

**URL:** <https://www.ruby-forum.com/t/association-proxy-create/171355>\
**Category:** Rails\
**Created:** [July 1, 2009, 1:20am UTC](https://www.ruby-forum.com/t/association-proxy-create/171355 "2009-07-01T01:20:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jeffrey\_LSTaylor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@Jeffrey\_LSTaylor](https://www.ruby-forum.com/u/Jeffrey_LSTaylor)\
**Post date:** [July 1, 2009, 1:20am UTC](https://www.ruby-forum.com/t/association-proxy-create/171355/1 "2009-07-01T01:20:41Z")

</div>

A Feed has many Subscriptions

class Feed \< ActiveRecord::Base  
has\_many :subscriptions  
end

class Subscription \< ActiveRecord::Base  
belongs\_to :feed, :counter\_cache =\> true  
belongs\_to :user  
end

This does not work  
ch = Channel.find(:first)  
ch.feeds.create(:user\_id =\> 1, :score =\> 0.0)

user\_id and score columns must be non-null, SQL INSERT sets them NULL.  
Nor does it work with string keys instead of symbols.

This does:  
ch = Channel.find(:first)  
ch.feeds.create do |f|  
f.user\_id = 1  
f.score = 0.0  
end

According to AWDWR 1st and [http://rails.rubyonrails.org/](http://rails.rubyonrails.org/) both should  
behave  
the same. What has changed or I am doing wrong.

TIA,  
Jeffrey

---

<div class="post-metadata">

**Author:** ![Jeffrey\_LSTaylor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@Jeffrey\_LSTaylor](https://www.ruby-forum.com/u/Jeffrey_LSTaylor)\
**Post date:** [July 1, 2009, 2:03am UTC](https://www.ruby-forum.com/t/association-proxy-create/171355/2 "2009-07-01T02:03:56Z")

</div>

This is on Rails 2.3.2.

Quoting Jeffrey L. Taylor [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Jeffrey\_LSTaylor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@Jeffrey\_LSTaylor](https://www.ruby-forum.com/u/Jeffrey_LSTaylor)\
**Post date:** [July 1, 2009, 6:24am UTC](https://www.ruby-forum.com/t/association-proxy-create/171355/3 "2009-07-01T06:24:39Z")

</div>

It’s possible that the attributes aren’t getting assigned because  
they’re protected. Do you have attr\_protected or attr\_accessible  
declared anywhere in your model?

---

<div class="post-metadata">

**Author:** ![Jeffrey\_LSTaylor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@Jeffrey\_LSTaylor](https://www.ruby-forum.com/u/Jeffrey_LSTaylor)\
**Post date:** [July 1, 2009, 8:33am UTC](https://www.ruby-forum.com/t/association-proxy-create/171355/4 "2009-07-01T08:33:31Z")

</div>

Pat,  
Head slap, yes that is precisely the problem. Thanks for seeing into  
my  
blind spot.

Jeffrey

Quoting Pat N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> It’s possible that the attributes aren’t getting assigned because  
> they’re protected. Do you have attr\_protected or attr\_accessible  
> declared anywhere in your model?

[snip]
