remco
1
Hi,
<% @user.email %>
…is working
<% @user.educations do |education| %>
<%= education.name%>
…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
remco
2
Did you setup the AR models?
User
has_many :education
Education
belongs_to :user
remco
3
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
remco
4
On Nov 7, 2007 12:22 PM, Remco S. [email protected] 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
remco
5
Todd B. wrote:
On Nov 7, 2007 12:22 PM, Remco S. [email protected] 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!!
educations
<% for education in Education.find(:all) %>
<%= check_box_tag "user[education_ids][]", education.id,
@user.educations.include?(education) %>
<%= education.name%>
<% end %>
But…
In the show-view i want a list of educations wich the user has selected.
I thought this.
Educations
<% @user.educations do |education| %>
- <%= education.name%>
<% end %>
This get empty value…
This is my problem…
Grtz…remco
remco
6
On Nov 7, 2007 1:18 PM, Remco S. [email protected] wrote:
Users ← Expertise → Educations
@user.educations.include?(education) %>
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