Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:使用无表模型上传图像_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails Rails:使用无表模型上传图像

Ruby on rails Rails:使用无表模型上传图像,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,这是一个场景,我希望用户输入所有数据和所有数据,并使用em填充结果。我不需要将它们存储在数据库中,因为我只需要向它们显示一个结果页 我照做了,把我的模型做成了无桌的 但现在我有一个问题,当我想从用户接收图像上传。我还想在结果页面中显示该图片,因为我只会使用一次,如果可能的话,我不想将其存储在数据库中 我尝试用无表模型实现曲别针(因为我找不到任何其他解决方案),但该模型似乎继承了ActiveRecord::Base,使其能够工作 这可能吗?或者这是我可以实现的另一种方式 谢谢 如果你想成功地使用回

这是一个场景,我希望用户输入所有数据和所有数据,并使用em填充结果。我不需要将它们存储在数据库中,因为我只需要向它们显示一个结果页

我照做了,把我的模型做成了无桌的

但现在我有一个问题,当我想从用户接收图像上传。我还想在结果页面中显示该图片,因为我只会使用一次,如果可能的话,我不想将其存储在数据库中

我尝试用无表模型实现曲别针(因为我找不到任何其他解决方案),但该模型似乎继承了ActiveRecord::Base,使其能够工作

这可能吗?或者这是我可以实现的另一种方式


谢谢

如果你想成功地使用回形针,那么一旦你不再需要上传的图像,你会如何处理它?如果没有数据库或其他形式的持久存储,您如何知道图像存储在何处

我认为这里有一些概念性的问题,在开始构建接受图像上传的无表模型之前,应该重新思考


但是,如果出于某种原因,你真的想这样做,那么我建议只上传图像,而不使用像宝石一样的回形针,这真的是为了更容易地将文件与ActiveRecord对象关联起来。只要用谷歌搜索一下你如何用Ruby上传一个文件,其实并不难。

好的,你想接收一个图像,然后直接显示出来,而不是存储图像。我能行

如果控制器使用multipart接收文件,然后将文件发送回请求,那该怎么办

控制器文件:

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。或者,尝试执行文件。必要时删除临时文件名


如果您想验证它是否是图像,您可以执行回形针模型验证。

您需要无桌模型做什么?只是为了保持代码干净?模型内部发生了什么?我计划从用户那里收集输入并显示结果页面。我最初只是直接从表单params获取输入。我使用无表模型的原因可能是为了利用ActiveRecord验证。