2010-09-28 44 views
1

這就是我想要做的。假設用戶正在查看bar控制器的foo操作的foo視圖,並且我有一個名爲@userName的變量。如何生成並鏈接到任意文件?

bar_controller.rb

class BarController 
    def foo 
    @userName = getUserName(); 
    end 

foo.html.erb

Hi mom! 

我想創建一個名爲日申請與<%= @userName %>.myExt在它的信息Hi, I'm <%= @userName %>!,把一個鏈接到它的視圖。我該怎麼做呢?

即最終:

bar_controller.rb

def foo 
    @userName = getUserName(); 
    create_myExt_file(@userName); 

foo.html.erb

Hi mom! Click <%= generate link to @userName.myExt, "here" %> to view! 

< @UserName> .myExt

Hi, I'm <@userName>! 

理想地,@UserName .myExt fi le不必實際寫入硬盤,但可以從模板或其他東西創建。我不知道該怎麼做!

謝謝!

+0

爲什麼要這樣做?這很複雜 – shingara 2010-09-28 22:01:28

回答

1

首先,生成文件作爲一個字符串,如:

s = get_file_contents 

然後,在你的控制器,它發送到客戶端,用暗示及文件名:

send_data s, :filename => 'example.text' 

最後,要使用ERB模板,您只需render_to_string即可。