How do I access a my :include data in my Ruby SQL results

3

3bt8y Buss

I am new to Ruby on Rails, so this is probably a very easy answer:

Two tables -- one of authors, one of books
authors belong_to books
In my situation, each book can only have one author.


I want to list all the books (with the author name) in a Select field.

@all_books = Book.find( :all, :include => [:authors] )

Then, I create the Select statement:

select:)book, :id, @all_books.collect {|b| [b.book_name + " (" +
b.author_name + ")", b.id ] }) %>


This creates an error because I'm trying to include the author_name.
When I run @all_books.inspect, I can see the author info in there.

So, how do I actually access the author data from that array (or object,
or whatever the correct terminology is)?

Thanks!
 
B

Brian Candler

DL said:
I am new to Ruby on Rails, so this is probably a very easy answer:

Rails (the web framework) is not the same as Ruby (the programming
language). So you would do much better to ask your question on a Rails
mailing list or forum. They are linked from rubyonrails.org
 
M

Mark Thomas

Agreed that it is better to use the Rails list/group. But you probably
want b.author.author_name.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,262
Messages
2,571,056
Members
48,769
Latest member
Clifft

Latest Threads

Top