这是场景,我希望用户输入所有数据和所有数据并使用em来填充结果。我不需要将它们存储在数据库中,因为我只是向它们显示结果页面。
我做了http://railscasts.com/episodes/219-active-model并使我的模型无表情。
但是,当我想从用户那里接收图片上传时,我有一个问题。我还想在结果页面中显示该图片,因为我将只使用它一次,如果可能的话我也不想将它存储在数据库中。
我尝试使用无表格模型实现回形针(因为我无法找到任何其他解决方案)但似乎该模型已继承ActiveRecord :: Base以使其正常工作...
这可能吗?或者这是我可以实现的另一种方式吗?
谢谢!
答案 0 :(得分:0)
如果您成功使用Paperclip,那么一旦您不再需要它,您将如何摆脱上传的图像?如果没有数据库或其他形式的持久存储,您如何知道图像的存储位置?
我认为你在这里有一些概念问题,你应该在开始攻击接受图片上传的无表格模型之前重新思考。
但是,如果由于某种原因你真的想这样做,那么我建议只上传图片而不受像Paperclip这样的宝石的好处,这真的是为了让文件更容易与ActiveRecord对象相关联。只是谷歌如何在Ruby上传文件,它并不是那么困难。
答案 1 :(得分:0)
好的,所以你想要接收图像,然后向右显示,而不是存储图像。可以。
使用multipart接收文件的Controller怎么样,然后将文件传回给请求?
控制器文件:
def upload
# Save file
name = params['datafile'].original_filename
directory = "tmp/uploads"
temp_file_name = File.join(directory, name)
send_file temp_file_name, :status=>200
end
然后,您只需在需要时清理tmp。或者,在需要时尝试执行File.delete temp_file_name。
如果要验证它是图像,可以进行Paperclip模型验证。