1

そのため、Excel(XLS)ドキュメントにシリアル化/読み取りできるようにする必要があるモデルがあります。このコードが実際にどこに属するのか、私は少し迷っています。私の最初の考えでは、to_xls はビューであると考えていましたが、ActiveRecord で(to|from)_xmlやのようなものを探し回って見た後(to|from)_json、このようなものがモデルに属しているのではないかと考えていました。あるいは、それはどこかの完全に別のコンテナに属していますか?

価値があるのは、ユーザーがサイトからモデルをダウンロードし、Excel で修正してから投稿することです。

4

2 に答える 2

0

to/from_xls は Rails ではサポートされていません。プラグインはありますが、Rails の to_xls プラグインは使用していません。より良い方法は、FasterCSVを使用して CSV に出入りし、使用可能なものを取得することです。以下に一例を示します: ActiveRecord から to_csv をエクスポートします。

于 2009-10-08T03:00:25.387 に答える
0

to_xls間違いなくビューになるはずです。を試してみ/app/views/foos/show.xls.erbますが、XLS ビューの ERB が気に入らない場合は、RbTemplateHandlerを試して純粋な Ruby でレンダリングを行ってください。

from_xlsまったく別の獣です。それは確かにコントローラーに属していません。論理的にはモデルに属していますが、ミックスインに抽出します。XLS を 1 つのモデルにのみ取り込む場合は、次の設定で十分です。

# app/models/foo.rb
class Foo
  extend XLS2Foo
  ...
end

# lib/foo_from_xls
module XLS2Foo
  def to_foo(xls)
    ...
  end
end

多数のモデルに対してそれを行う必要がある場合は、libディレクトリでパーサー ジェネレーター DSL を試し、モデル クラスで各モデルのパーサーを自分で宣言することができます。

于 2009-10-08T00:30:40.803 に答える