join table naming

15 views
Skip to first unread message

Dave Castellano

unread,
Apr 24, 2013, 2:00:37 PM4/24/13
to rubyonra...@googlegroups.com
Hi,
I’m an amateur learning rails and could use some help…
I created a join table “pictures_questions”
and append to it in the following way:
@picture = Picture.new(params[:picture])

if @picture.save
@question.pictures << @picture

Everything works fine but honestly I think I got this working by sheer
luck and trial and error. I have 2 questions:
1. I do not understand the difference between naming the join table
pictures_questions vs questions_pictures (ie how to decide which to use)
2. I do not understand the “.pictures” in @question.pictures - is it
an attribute of @question because of the join table?

Thanks

--
Posted via http://www.ruby-forum.com/.

Timster

unread,
Apr 24, 2013, 2:19:33 PM4/24/13
to rubyonra...@googlegroups.com
1 - You name it "pictures_questions" because they are in alphabetical order that way, and that's what Rails assumes

2 - Yes, it is an attribute of Question because you specified "has_and_belongs_to_many :pictures" in your model. Then rails assumes there will be a join table.

Colin Law

unread,
Apr 24, 2013, 3:47:17 PM4/24/13
to rubyonra...@googlegroups.com
I will give the same answer that I usually do for beginners, which is
to work right through a good tutorial such as railstutorial.org in
order to understand the basics of Rails, then you should be able to
answer the questions, and many of the ones that come hereafter,
yourself.

Colin

tamouse mailing lists

unread,
Apr 27, 2013, 1:16:02 AM4/27/13
to rubyonra...@googlegroups.com
In addition, thorough reading and re-reading of
http://guides.rubyonrails.org/association_basics.html is essential.
Reply all
Reply to author
Forward
0 new messages