1

RailsでComma gemを使用しています。これが私の顧客モデルです:

class Customer
  include MongoMapper::Document

  key :customer_id, Integer
  key :company_id, String
  key :first_name, String, :required => true
  key :last_name, String
  key :email, Array, :unique => true, :required => true
  key :phone, Array

  comma do 
    first_name
    last_name
    email
    phone
  end
end

次にレンダリングします:

format.csv { render :csv => @all_customers }

@all_customersは、この特定の環境の顧客の集まりにすぎません。この部分は正常に機能します。

CSV にエクスポートすると、次のタイプの全体が得られます。

["dan@whatever.com"]

これは、email が配列であり、Comma が文字どおり全体をレンダリングしているためです。私が欲しい:

dan@whatever.com

通常、私は次のようなことをします:

email[0]

そして、配列からその値だけを取得します。しかし、これを試してみると、エクスポートされた CSV に違いはありませんでした。まだ不要な括弧と引用符がありました。

要素を取得して括弧や引用符を避けるにはどうすればよいですか?

4

1 に答える 1

1

最初のメールだけが必要な場合は、

comma do 
    first_name
    last_name
    email do |email| email[0] end
    phone
end

または、すべてのメールが必要な場合は、

comma do 
    first_name
    last_name
    email do |email| email.join(',') end
    phone
end
于 2013-06-04T01:24:36.233 に答える