[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Show info from table wich is joined

Remco Swoany

11/6/2007 2:54:00 PM

Hi,

<% @user.email %>
...is working

<% @user.educations do |education| %>
<li><%= education.name%></li>
...is NOT working.

This is because there is a join-table involved..below the mirgation

class AddTableEducationsUsers < ActiveRecord::Migration
def self.up
create_table :educations_users do |t|
t.column :education_id, :integer
t.column :user_id, :integer

end
add_index "educations_users", "education_id"
add_index "educations_users", "user_id"

end
def self.down
drop_table :educations_users
end
end

I want on the user-page the occupations of the user...any suggestions??

remco
--
Posted via http://www.ruby-....

5 Answers

Jacob Basham

11/7/2007 7:38:00 AM

0

Did you setup the AR models?

User
has_many :education

Education
belongs_to :user

On Nov 6, 2007, at 8:53 AM, Remco Swoany wrote:

> Hi,
>
> <% @user.email %>
> ...is working
>
> <% @user.educations do |education| %>
> <li><%= education.name%></li>
> ...is NOT working.
>
> This is because there is a join-table involved..below the mirgation
>
> class AddTableEducationsUsers < ActiveRecord::Migration
> def self.up
> create_table :educations_users do |t|
> t.column :education_id, :integer
> t.column :user_id, :integer
>
> end
> add_index "educations_users", "education_id"
> add_index "educations_users", "user_id"
>
> end
> def self.down
> drop_table :educations_users
> end
> end
>
> I want on the user-page the occupations of the user...any
> suggestions??
>
> remco
> --
> Posted via http://www.ruby-....
>


Remco Swoany

11/7/2007 6:22:00 PM

0

Jacob Basham wrote:
> Did you setup the AR models?
>
> User
> has_many :education
>
> Education
> belongs_to :user

Hi Jacob,

My models are..

User
has_and_belongs_to_many :educations

Education
has_and_belongs_to_many :users


Because a user can have many educations and eductions can have many
users.

remco
--
Posted via http://www.ruby-....

Todd Benson

11/7/2007 6:30:00 PM

0

On Nov 7, 2007 12:22 PM, Remco Swoany <remco.zwaan@gmail.com> wrote:
> Jacob Basham wrote:
> > Did you setup the AR models?
> >
> > User
> > has_many :education
> >
> > Education
> > belongs_to :user
>
> Hi Jacob,
>
> My models are..
>
> User
> has_and_belongs_to_many :educations
>
> Education
> has_and_belongs_to_many :users
>
>
> Because a user can have many educations and eductions can have many
> users.

Are you trying to move away from the DB relational model (i.e. you
plan to alter the DB), or just trying to get Ruby to work with it?

By the sound of it, you have something in the DB that looks like
(forgive the crude notation)...

Users <-- Expertise --> Educations

3 tables?

Todd

Remco Swoany

11/7/2007 7:19:00 PM

0

Todd Benson wrote:
> On Nov 7, 2007 12:22 PM, Remco Swoany <remco.zwaan@gmail.com> wrote:
>>
>> users.
> Are you trying to move away from the DB relational model (i.e. you
> plan to alter the DB), or just trying to get Ruby to work with it?
>
> By the sound of it, you have something in the DB that looks like
> (forgive the crude notation)...
>
> Users <-- Expertise --> Educations
>
> 3 tables?
>
> Todd

I have 3 tables

users
educations
educactions_users

The educactions_users is my join table, with the columns users_id and
educations_id.

A part of the user-edit-view looks like this, where the user can
specified there educations. This works..after getting grey hair!!

<h4>educations</h4>
<% for education in Education.find(:all) %>
<div>
<%= check_box_tag "user[education_ids][]", education.id,
@user.educations.include?(education) %>
<%= education.name%>
</div>
<% end %>

But.....

In the show-view i want a list of educations wich the user has selected.
I thought this.

<h4>Educations</h4>
<ul>
<% @user.educations do |education| %>
<li><%= education.name%></li>
<% end %>
</ul>

This get empty value..

This is my problem..

Grtz..remco
--
Posted via http://www.ruby-....

Todd Benson

11/7/2007 11:33:00 PM

0

On Nov 7, 2007 1:18 PM, Remco Swoany <remco.zwaan@gmail.com> wrote:
> Todd Benson wrote:
> > On Nov 7, 2007 12:22 PM, Remco Swoany <remco.zwaan@gmail.com> wrote:
> >>
> >> users.
> > Are you trying to move away from the DB relational model (i.e. you
> > plan to alter the DB), or just trying to get Ruby to work with it?
> >
> > By the sound of it, you have something in the DB that looks like
> > (forgive the crude notation)...
> >
> > Users <-- Expertise --> Educations
> >
> > 3 tables?
> >
> > Todd
>
> I have 3 tables
>
> users
> educations
> educactions_users
>
> The educactions_users is my join table, with the columns users_id and
> educations_id.
>
> A part of the user-edit-view looks like this, where the user can
> specified there educations. This works..after getting grey hair!!
>
> <h4>educations</h4>
> <% for education in Education.find(:all) %>
> <div>
> <%= check_box_tag "user[education_ids][]", education.id,
> @user.educations.include?(education) %>
> <%= education.name%>
> </div>
> <% end %>
>
> But.....
>
> In the show-view i want a list of educations wich the user has selected.
> I thought this.
>
> <h4>Educations</h4>
> <ul>
> <% @user.educations do |education| %>
> <li><%= education.name%></li>
> <% end %>
> </ul>
>
> This get empty value..
>
> This is my problem..
>
> Grtz..remco
>
> --
> Posted via http://www.ruby-....
>
>

Have you tried specifying the word "through" in your rails models.
This works for me, for example...

class User < ActiveRecord::Base
has_many :memberships
has_many :groups, :through => :memberships
end

class Group < ActiveRecord::Base
has_many :memberships
has_many :users, :through => :memberships
end

class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :group
end

hth a little,
Todd