Многократное отношение с той же моделью - PullRequest
1 голос
/ 22 марта 2011

У меня есть две модели «Актив» и «Пользователь». «Актив» может быть назначен одному «пользователю», а «актив» создается одним «пользователем». Здесь подробно описаны классы моделей

class Asset < ActiveRecord::Base
belongs_to :assigned_to ,:class_name=>'User'
belongs_to :creator ,:class_name=>'User'
end

и

class User < ActiveRecord::Base
has_many :assets
end

теперь в активах show.html.erb Я могу получить доступ к имени создателя с помощью

 @asset.creator.name

, но не могу увидеть имя 'assign_to'

@asset.assigned_to.name  #gives nothing

оба значения успешно сохранены в базе данных. В чем проблема?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

наконец, моя проблема решена, вот решение

class Asset < ActiveRecord::Base

belongs_to :creator ,:class_name=>'User'
belongs_to :assigned_to, :class_name=>'User' 

end

и

user.rb

class User < ActiveRecord::Base

has_many :created_assets, :foreign_key => 'creator_id', :class_name => 'Asset'
has_many :assigned_assets , :foreign_key => 'assigned_to_id', :class_name => 'Asset'

end
0 голосов
/ 22 марта 2011

Попробуйте напечатать значения непосредственно на консоль:

puts @asset.pretty_inspect
puts @asset.assigned_to.pretty_inspect

Что-то не так:)

...