2012-11-30 55 views
3

我對Ruby on Rails非常陌生,我試圖訪問特定組織的分數。我想知道是否有人能指出我能夠做到這一點的正確直接。目前,我有以下型號:需要在rails中使用模型關聯的指導

這裏是用戶模型

class User < ActiveRecord::Base 
attr_accessible :fname, :lname, :email, :password, :password_confirmation 
has_secure_password 
belongs_to :organization 

這裏是組織模式

class Organization < ActiveRecord::Base 
attr_accessible :name, :employee_number, :country, :postal_code, :sic_code, :primary_url 
has_many :users 
has_many :social_entities 
has_many :social_scores, :through => :social_entity 
has_many :social_channels, :through => :social_entity 

這裏是實體模型

class SocialEntity < ActiveRecord::Base 
attr_accessible :name, :org_id 
has_many :social_channels 
has_many :social_scores 
belongs_to :organization 

這裏是頻道模式

class SocialChannel < ActiveRecord::Base 
attr_accessible :authorized, :channel_identifier, :channel_type, :name, :social_entity_id 
belongs_to :social_entity # edited from original post, :socialentity 

這裏是分數模型

class SocialScore < ActiveRecord::Base 
attr_accessible :engagement_score, :popularity_score, :presence_score, :reputation_score, :score_period_end, :score_period_start, :score_period_type, :score_timestamp, :social_entity 
belongs_to :social_entity 

這裏是什麼,我試圖做一個說明。用戶登錄系統,用戶被綁定到一個組織,每個組織都有一個社交實體,它具有社交渠道和分數。我希望能夠在視圖中顯示組織的分數。

+0

看看這些例子http://guides.rubyonrails.org/active_record_querying.html#specifying-conditions-on-the-joined-tables –

+0

我想你將不得不描述你想要完成的事情,以瞭解這是否是對的。編輯你的問題添加一段描述這些東西是什麼,這可能會幫助我們知道。 –

回答

3

如果您有組織的實例,則has_many聲明會創建一個屬性(真的方法),以獲取社交分數集合,例如social_scores,例如,

@org = Organization.find(:first) # or however else it is that you get the organization instance 
@org.social_scores.each do |ss| 
    puts "Popularity score for id #{ss.id} is #{ss.popularity_score}" 
end 

這就是你正在尋找的?

+0

我這麼認爲。我真的很新,所以我不知道如何實現這一點。 – robertwclark

+0

所以,這是我一直在尋找的,但是我將如何訪問特定實體的最新分數 – robertwclark