我是RoR的新人。
我想做出那样的逻辑:
来自upload
的用户xml
csv
或/home (static_pages#home)
文件,并将其发送至elms#el_select
如果文件是xml
并且文件包含多个元素,我想向用户显示页面,以便他选择要显示的元素
如果文件是csv
或xml
,我想要显示结果页面
所以这里有两个use-cases
:
- choose file - view results
- choose file - choose element - view results
在第二种情况下,upload
中的static_pages#home
个文件,将其发送到elms#el_select
,我不知道如何将其从elms#el_select
发送到结果页面。
在第一种情况下,我不知道如何跳过页面呈现并将文件发送到另一个控制器
答案 0 :(得分:0)
控制器不存储用于上传/下载或任何其他数据的文件。他们只是操纵他们的模型实例(与他们的行为)。所以,如果我以正确的方式理解你的问题,那么订单可能是下一个:
StatiPagesController
从用户获取文件并将其存储在某处(/ tmp或smth。)如果文件有效;
ElmsController
从存储中取出文件,然后render
获取正确的视图(或redirect_to
正确的视图(如果已存在)。
答案 1 :(得分:0)
最后,我在我的问题上找到了答案:
@key = SecureRandom.uuid
Rails.cache.write(@key, @file)