如何生成和链接到任意文件?

时间:2010-09-28 21:50:37

标签: ruby-on-rails ruby

这就是我想要做的。假设用户正在查看foo控件foo操作的bar视图,并且我有一个名为@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!

&LT; @用户名&gt; .myExt

Hi, I'm <@userName>!

理想情况下,@ userName.myExt文件不必实际写入硬盘驱动器,但可以从模板或其他东西创建。我不知道怎么做!

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,将文件生成为字符串,例如:

s = get_file_contents

然后,在您的控制器中,将其与建议的文件名一起发送到客户端:

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

最后,要使用ERB模板,您只需render_to_string