2015-05-28 29 views
0

我有這個類。我在這裏使用builder gem。例如,當我在rails控制檯中執行此操作時,一切正常。但是,我不知道爲什麼,當我嘗試在一些控制器補充一點:使用Builder Gem在導軌中導出XML文件

def export 
    .... 
    ClientsExportXML.new(current_user).build 
    ... 
    end 

該文件是在公共/ data.xml中,但沒有內容(空文件)創建的。

我對這裏可能發生的事情有點困惑。

在此先感謝

Édipo

解決

更改文件實例變量,並在方法構建結束關閉文件。我更新了代碼以反映這一點。

+0

您是否嘗試要求寶石?像require'rubygems' require_gem'builder'或require'builder' – Jean

+0

是@Jean'''需要'builder'在ClientsExportXML文件的頂部。 – elf

回答

0

嘗試在build方法的最後一行添加@builder.target!target!方法從構建器生成XML。

編輯:

def export 
    .. 
    File.open(file_path, "w") do |f| 
    f.write(ClientsExportXML.new(current_user).build) 
    end 
    .. 
end 

做你export方法看起來是這樣的?

+0

嗨@edariedl同樣的結果。空文件:( – elf

+0

嗨@elf,我更新了答案,你的'export'方法看起來像例子嗎? – edariedl

+0

沒有@edariedl。我只是使用構建方法 – elf