3

我对 Ruby on 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

这是我正在尝试做的事情的描述。一个用户登录系统,用户绑定到一个组织,每个组织都有一个社交实体,它有社交渠道和分数。我希望能够在视图中显示组织的分数。

4

1 回答 1

3

如果您有一个组织实例,则该has_many声明会创建一个属性(实际上是一个方法),该属性获取由 引用的 SocialScores 的集合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

那是你要找的吗?

于 2012-11-30T19:49:13.027 回答