One of my modesl looks like this:
class UnprocessedPage < ActiveRecord::Base
has_one :user
attr_accessible :url, :user_id
end
Do I need :user_id? Or is it implied via "has_one :user"?
This is working as is.. but when I look for examples of other things, I
never see any attributes with *_id... so I'm wondering if it's implied
and
I'm just mucking things up?
on 2012-12-09 21:27
on 2012-12-09 22:59
On 9 December 2012 20:25, Dan Brooking <dmbrooking@gmail.com> wrote: > One of my modesl looks like this: > > class UnprocessedPage < ActiveRecord::Base > has_one :user > attr_accessible :url, :user_id > end > > Do I need :user_id? Or is it implied via "has_one :user"? You should not have a user_id column in the database for a has_one association. If UnprocessedPage has_one :user then User belongs_to :unprocessed_page and User should have an unprocessed_page_id column. Are you sure you do not mean User has_many :unprocessed_pages and UnprocessedPage belongs_to :user? Have a look at the Rails Guide on ActiveRecord Associations for more details and if you have not already done so then work right through a good rails tutorial such as railstutorial.org, which is free to use online, in order to get the basics of Rails. Colin
on 2012-12-09 23:24
OK, yeah you are right. It shouldn't be has_one. It sounds like the associated you mentioned is the one I'm looking for. With that said, would I still have a user_id column? or would that be implicit via the belongs_to?
on 2012-12-10 09:30
On 9 December 2012 22:22, Dan Brooking <dmbrooking@gmail.com> wrote: > OK, yeah you are right. It shouldn't be has_one. It sounds like the > associated you mentioned is the one I'm looking for. With that said, would > I still have a user_id column? or would that be implicit via the belongs_to? Using belongs_to implies that you must provide a user_id column in the database. As I said, work through the tutorial and study the guides and all will become clear (well, less muddy at least). Colin
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.