Rails has_many with dynamic conditionsより、ActiveRecord 3.1+ではproc
を使う必要があるみたい。3.2.8で確認済み。
class User has_many :pictures has_one :profile_picture, class_name: "Picture", foreign_key: "user_id", conditions: proc { ["id = ?", self.profile_picture_id] } end