I have two tables in a database: bars and accounts. (bars isn''t what you think, but that''s anoher story). Anyway, an accounts has_many bars and bars belongs_to account. In my bars table their is an id and an account column. What I am trying to do is to pull out the account variabel from the bars database and am having some issues. I get this error: RuntimeError: ERROR C42703 Mcolumn accounts.bar_id does not exist Fparse_func.c L1036 Runknown_attribute: SELECT * FROM accounts WHERE (accounts.bar_id = 150991) LIMIT 1 Odviously, it is getting confused about which table it should be looking in, but to be honest, I''m looking at my code and it looks pretty sound and it should work since I have written this exact code for various things many, many times in the past. Here is the select: <%= select( "bar", "account", Bar.find_by_sql( ''SELECT * From bars where bars.account > 0'' ).collect{ |p| [p.account, p.id] }, {include_blank => false } ) %> Unless I am mistaken, the p in the collect is an object of bar correct? It is here that I believe all my problems are occuring. Thanks, -Shandy -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Figured it out. My relationships where in error in my models. In my bar model I had has_one :account when it should have read _belongs_to :account. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> <%= select( "bar", "account", Bar.find_by_sql( ''SELECT * From bars where > bars.account > 0'' ).collect{ |p| [p.account, p.id] }, > {include_blank => false } ) %>Rails eliminates the need to degenerate your code to SQL fragments for most things. You could write this query more cleanly. Instead of: Bar.find_by_sql( ''SELECT * From bars where bars.account_id > 0'' ) Do this: Bar.find(:all, :conditions => ''account_id > 0'') Cheers, Ryan --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---