class Hoge
  attr_accessor :foo

  def initialize(value)
    @foo = Foo.new(value)
  end
end

class Foo
  attr_accessor :value

  def initialize(value)
    @value = value
  end
end

values = [
  Hoge.new(1),
  Hoge.new(2)
]


p values.map{|hoge| hoge.foo.value} #=> 問題なし
p values.map(&:foo.value) #=> エラー

undefined method `value' for :foo:Symbol (NoMethodError)

サンプルソースは上記のとおりです。
エラーが起きているものの行の上の行と同等の動きをすると想定していますが、文法的に認識してくれずエラーのようです。正しい書き方はありますか?