linking many tables with conditions?

1. The easy solution for this is use acts_as_list.

2. Use has_many and belongs_to. Then you can do
task.project.project_name and such.