On 6 April 2011 04:56, Sachin Joshi <[email protected]> wrote:
> Hello Experts,
> I have a HABTM association between User and Account model through a
> table users_accounts

I am surprised it works, I would have expected Rails to look for table
accounts_users, unless you are specifying has_many through, rather
than HABTM.

> the association seems to be working fine, e.g.
> when i do
>
> @user.account

That should be @user.accounts.  If @user.account works then you have
not specified the relationships correctly.

> it fetches the associated record which is just one record as of now.
> @user.account
> => [#<Account id: 1, acc_name: "test account", created_at: "2011-03-16
> 10:39:03", updated_at: "2011-04-03 01:58:03">]

Notice the square brackets.  This is an array of accounts, containing
one element.

>
> When i use @user.account.acc_name in the view, it throws the following
> error.
>
> undefined method `acc_name' for #<Class:0x317e6b0>

That is because @user.account is an array.  You need something like
@user.account[0].acc_name, or @user.account.first.acc_name.

If you still can't work it out post the class definitions with the
association specifications (copy and paste from your code so as to
avoid confusing typos).

Colin

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to