如何将文件从操作发送到下一个操作

时间:2014-06-19 10:31:25

标签: ruby-on-rails ruby

我是RoR的新人。

我想做出那样的逻辑:

  1. 来自upload的用户xml csv/home (static_pages#home)文件,并将其发送至elms#el_select

  2. 如果文件是xml并且文件包含多个元素,我想向用户显示页面,以便他选择要显示的元素

  3. 如果文件是csvxml,我想要显示结果页面

  4. 所以这里有两个use-cases

    - choose file - view results
    - choose file - choose element - view results
    

    在第二种情况下,upload中的static_pages#home个文件,将其发送到elms#el_select,我不知道如何将其从elms#el_select发送到结果页面。

    在第一种情况下,我不知道如何跳过页面呈现并将文件发送到另一个控制器

2 个答案:

答案 0 :(得分:0)

控制器不存储用于上传/下载或任何其他数据的文件。他们只是操纵他们的模型实例(与他们的行为)。所以,如果我以正确的方式理解你的问题,那么订单可能是下一个:

  1. StatiPagesController从用户获取文件并将其存储在某处(/ tmp或smth。)如果文件有效;

  2. ElmsController从存储中取出文件,然后render获取正确的视图(或redirect_to正确的视图(如果已存在)。

答案 1 :(得分:0)

最后,我在我的问题上找到了答案:

@key = SecureRandom.uuid
Rails.cache.write(@key, @file)