【问题标题】:Rails: Profile Picture Model AssociationRails:个人资料图片模型协会
【发布时间】:2013-04-03 01:52:51
【问题描述】:

我有两个模型用户和照片。

目前,用户可以拥有许多照片。我正在寻找最好的 rails/database 模式来表示他们有一张个人资料图片。这是他们的其中一张照片。

用户模型

class User < ActiveRecord::Base
  attr_accessible :emailAddress, :firstName, :lastName, :middleName, :phoneNumber
  has_many :photos
end

照片模特

class Photo < ActiveRecord::Base
  belongs_to :client
  attr_accessible :image, :client_id
  has_attached_file :image
end

我应该向 User 添加一个指向现有 photoId 的 :profilePicture 属性,还是应该添加一个名为 ProfilePicture 的新模型,其中包含 belongs_to :client, has_one :photo?

任何可以帮助我找出最佳设置方法的建议或链接都​​会有所帮助,谢谢。

【问题讨论】:

    标签: ruby-on-rails paperclip model-associations


    【解决方案1】:

    我做了类似的事情,我将 profilePicture 称为头像。用户模型必须在表中有一个 avatar_id 字段,该字段是用作用户头像的图片的 photo_id。请注意,照片中的 avatar_owner 只会在作为头像照片的照片实例中分配。

    用户模型

    class User < ActiveRecord::Base
      attr_accessible :emailAddress, :firstName, :lastName, :middleName, :phoneNumber, :avatar_id
      has_many :photos
      belongs_to :avatar, :class_name => "Photo", :foreign_key => "avatar_id"
    end
    

    照片模特

    class Photo < ActiveRecord::Base
      belongs_to :client
      attr_accessible :image, :client_id
      has_attached_file :image
      has_one  :avatar_owner, :class_name => "User", :foreign_key => "avatar_id"
    

    结束

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 2017-07-10
      • 2012-06-08
      相关资源
      最近更新 更多