# Basic Rails Database Foreign Key question

**URL:** <https://www.ruby-forum.com/t/basic-rails-database-foreign-key-question/100511>\
**Category:** Ruby\
**Created:** [February 3, 2006, 2:41am UTC](https://www.ruby-forum.com/t/basic-rails-database-foreign-key-question/100511 "2006-02-03T02:41:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 3, 2006, 2:41am UTC](https://www.ruby-forum.com/t/basic-rails-database-foreign-key-question/100511/1 "2006-02-03T02:41:03Z")

</div>

Hi, I’m still waiting on my Agile Rails book to arrive - in the  
meantime …  
As an exercise I’m making a Help Desk application.  
If I have a Problems table with two foreign keys to a People table, how  
do I set up my models, problems\_controller list method, and then simply  
display, say my problem submitter person? Here is what I have so far:

Problems table with columns:  
id  
description  
submitter\_id (foreign key to People id)  
assigned\_to\_id (foreign key to People id)  
etc

People table with columns:  
id  
name

models:  
class Problem \< ActiveRecord::Base  
has\_many :people ???

class Person \< ActiveRecord::Base  
has\_many :problems

problem\_Controller:  
def list  
@submitter = Person.find(params[:submitter\_id] ???

views:problems:list.rhtml

\<%= problem.submitter.name %\> ???

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 3, 2006, 3:05am UTC](https://www.ruby-forum.com/t/basic-rails-database-foreign-key-question/100511/2 "2006-02-03T03:05:09Z")

</div>

removed\_email\_address@domain.invalid wrote:

> Hi, I’m still waiting on my Agile Rails book to arrive - in the  
> meantime …

You’ll likely get better information from the Rails mailing list

[http://lists.rubyonrails.org/](http://lists.rubyonrails.org/)

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 3, 2006, 7:39am UTC](https://www.ruby-forum.com/t/basic-rails-database-foreign-key-question/100511/3 "2006-02-03T07:39:43Z")

</div>

In the future, the rails mailing list would be a better place to post  
this. This time, here’s a solution:

# problem.rb

class Problem \< ActiveRecord::Base  
belongs\_to :submitter, :class\_name =\> ‘Person’, :foreign\_key =\>  
‘submitted\_id’  
belongs\_to :assigned\_to, :class\_name =\> ‘Person’, :foreign\_key =\>  
‘assigned\_to\_id’  
end

# end

look at

> **[ActiveRecord::Associations::ClassMethods](https://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html)**
>
> Associations are a set of macro-like class methods for tying objects together through foreign keys.

for full details. You can find the answer to almost every question in  
the excellent API documentation available at [http://api.rubyonrails.org](http://api.rubyonrails.org)
