2009-10-07 30 views
1

所以我有一個模型,我需要能夠序列化到/從Excel(XLS)文檔讀取。我對這段代碼實際屬於哪裏感到有些遺憾。我最初的想法是,to_xls是一個視圖,但在ActiveRecord中查看(to|from)_xml(to|from)_json之後,我想知道是否這些內容可能屬於該模型。或者,它是否屬於一個完全獨立的容器?把rails放到rails應用程序中的位置

對於什麼是值得的,用戶將從網站下載模型,在Excel中修改它們,然後發佈它們。

回答

0

to_xls應該絕對是一個視圖。我會嘗試一個/app/views/foos/show.xls.erb,但是如果您不喜歡ERB的XLS視圖,請嘗試RbTemplateHandler以在純Ruby中進行渲染。

from_xls是一個完全不同的野獸。它當然不屬於控制器。它在邏輯上屬於模型,但我將它提取到一個混合。如果你只在XLS拉動了一個模型,那麼下面的設置應該足夠了:

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

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

如果你需要做的一堆模型,你可以在你嘗試分析器生成DSL lib目錄併爲模型類中的每個模型聲明自己的解析器。

+0

意識到我需要爲幾個模型做同樣的事情,基本上序列化爲一個樹形表。主要問題是我是否將其聲明爲模型組合,或者是作用於具有特定結構的模型的事物。 – 2009-10-14 11:41:05

0

to/from_xls不受Rails支持。有一個插件,但我沒有用它to_xls plugin for Rails。使用FasterCSV來獲取可用的更好的方法是獲取可用的東西。這裏有一個例子:Export to_csv from ActiveRecord

+0

我有寫的功能來做我想做的事情。我正在努力把重點放在我應該把代碼放在哪裏。 – 2009-10-08 03:23:49

相關問題