在Padrino中使用Rails“ApplicationController”?

时间:2014-06-17 09:36:48

标签: ruby-on-rails ruby sinatra padrino

在试图弄清楚如何让Carrierwave + Mongoid + gridfs在Padrino(Carrierwave + Mongoid + gridfs + Padrino admin image upload)中工作时,我遇到了一些Rails代码看起来可能会起作用,如果我可以让它工作的话在帕德里诺。

假设你有一个类在rails中扩展了ApplicationController,你想在padrino app + admin中使用...你会在哪里保留它,你会如何声明它?

#app/controllers/gridfs_controller.rb
class GridfsController < ApplicationController

  def serve
    gridfs_path = env["PATH_INFO"].gsub("/upload/grid/", "")
    begin
      gridfs_file = Mongoid::GridFS[gridfs_path]
      self.response_body = gridfs_file.data
      self.content_type = gridfs_file.content_type
    rescue
      self.status = :file_not_found
      self.content_type = 'text/plain'
      self.response_body = ''
    end
  end
end

“serve”应该在主应用程序以及padrino管理员中可用。

这是一个当前状态的回购:https://github.com/bcsantos/debug

1 个答案:

答案 0 :(得分:0)

在我们在IRC聊天后的参考资料,这可能有助于https://gist.github.com/dariocravero/ab16044bb144bd52513a