Ruby on rails 3.1 我应该如何在Rails 3.1中设置资源,以便能够显示动态创建的图像?

Ruby on rails 3.1 我应该如何在Rails 3.1中设置资源,以便能够显示动态创建的图像?,ruby-on-rails-3.1,assets,Ruby On Rails 3.1,Assets,我有一个Rails 3.1应用程序,它可以动态地在“public/scene/ticket_123/*.png”中生成一些图像。它在开发模式下正常工作,但在生产中,所有资产都应该预编译。所以我不能使用应用程序启动后生成的文件。 设置config.assets.compile=true并不能解决我的问题。情况只会更糟,因为票号发生了变化——所以图像位于不同的目录中,这些目录也是动态创建的。 我应该如何设置资源以显示在应用程序启动后创建的图像?我也遇到了同样的问题。我只是通过将我的所有图像复制到pu

我有一个Rails 3.1应用程序,它可以动态地在“public/scene/ticket_123/*.png”中生成一些图像。它在开发模式下正常工作,但在生产中,所有资产都应该预编译。所以我不能使用应用程序启动后生成的文件。 设置config.assets.compile=true并不能解决我的问题。情况只会更糟,因为票号发生了变化——所以图像位于不同的目录中,这些目录也是动态创建的。
我应该如何设置资源以显示在应用程序启动后创建的图像?

我也遇到了同样的问题。我只是通过将我的所有图像复制到public/images中并将所有链接更改为新路径找到了解决办法

这对我来说暂时有效。我一直等到有人想出更好的主意

我希望这能有所帮助。

如果找到解决方案

# In view I wrote
<img src=<%= mycontroller_image_get_path :filename=>file_name %> >
# In controller I created GET action
def image_get
  send_file params[:filename], :disposition => 'inline', :type => 'image/png'
end
但是您应该注意您试图发送的文件位于{Rails.root}/public目录中,否则send_文件会说它找不到该文件。可能在/public中不需要,但在Rails.root中仍然需要。要更改此行为,请阅读此主题