标签: sinatra

如何在Sinatra中制作布局模板?

我是Sinatra的新手,我无法弄清楚应用程序布局的位置.

我见过使用的内联方法

# app code    
__END__

@@layout
  %html
    = yield
Run Code Online (Sandbox Code Playgroud)

但我希望布局在它自己的.haml文件中.

布局文件应该命名为什么?它应该放在什么目录中?

layout templates sinatra

20
推荐指数
2
解决办法
1万
查看次数

如何在Heroku上托管的Ruby/Sinatra应用程序中设置HTTP标头?

我有一个基于Ruby和Sinatra的工作应用程序部署在Heroku上.

我想利用Heroku上可用的HTTP缓存,它使用Varnish.

我不确定设置标头的最佳方法是什么,以及正确的语法.

有关最佳方法和语法的任何想法?

before do
    headers "Content-Type" => "text/html; charset=utf8"
end

get '/' do
    headers['Cache-Control'] = 'public, max-age=600'

    # SOME STUFF HERE

    haml :home, {:layout => :layout_minfooter}

end
Run Code Online (Sandbox Code Playgroud)

ruby heroku varnish sinatra http-headers

20
推荐指数
1
解决办法
2万
查看次数

如何在Sinatra的路线中找到更好的结构

我没有发现如何从其他模块混合路由,如下所示:

module otherRoutes
  get "/route1" do

  end
end    

class Server < Sinatra::Base
  include otherRoutes

  get "/" do
    #do something
  end
end
Run Code Online (Sandbox Code Playgroud)

那可能吗?

ruby sinatra

20
推荐指数
4
解决办法
8004
查看次数

将参数传递给新的sinatra app

简单的问题:我希望能够在config.ru中将选项传递到我的sinatra应用程序中.怎么可能?我的config.ru看起来像这样:

run MyApp
Run Code Online (Sandbox Code Playgroud)

但我想在我的MyApp类中使用它来获取参数:

class MyApp < Sinatra::Base
  def initialize(config)
    @config = config
  end
end
Run Code Online (Sandbox Code Playgroud)

但我无法想办法做到这一点.想法?

ruby rack sinatra

20
推荐指数
2
解决办法
6419
查看次数

为什么要在框架Web服务器前使用http服务器?

Web应用程序框架(如sinatra(ruby),play(scala),lift(scala))生成一个侦听特定端口的Web服务器.

我知道有一些原因,如安全性,群集以及在某些情况下的性能,可能会导致我在我的Web应用程序前面使用Apache Web服务器.

根据您的经验,您有任何理由吗?

ruby scala lift sinatra playframework

20
推荐指数
1
解决办法
2383
查看次数

Sinatra和Ramaze之间的主要区别是什么?

我正在寻找一个轻量级的Ruby Web框架,并且遇到了SinatraRamaze.两者看起来都非常简洁,简洁.但我不知道要么说出主要的区别是什么.也许有一方或两方经验的人可以发表评论?

ruby ramaze sinatra

19
推荐指数
3
解决办法
8011
查看次数

与Sinatra一起设计

有没有人用Sinatra 安装Devise gem?

Devise基于Warden,因此它应该适用于Sinatra,我找不到任何有关如何实现它的相关信息.

ruby sinatra devise

19
推荐指数
3
解决办法
1万
查看次数

从Sinatra发送DELETE请求

我正在尝试开发RESTful Sinatra应用程序.现在,我知道如何用类似的方式响应删除请求

delete '/user/:id' do |id|
   #do something in the model
end
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是如何执行该方法.我不能拥有DELETE而不是GET的链接,是吗?

到目前为止我找到的唯一解决方案是通过jQuery发送DELETE请求:如何在jQuery中发送PUT/DELETE请求?

我尝试在github上查看不同的RESTful Sinatra项目,但我的Ruby知识可能仅限于了解它们是如何做到的.

ruby rest httprequest sinatra http-delete

19
推荐指数
3
解决办法
1万
查看次数

使用Bundler从Github安装gem

我正在尝试使用这里说明来安装带有bundler的预发布版本的gem.

"bundle install"输出将gem列为已安装,但"gem list"无法找到它.

我的Gemfile:

source :gemcutter

gem 'sinatra', '1.1.0', :git => 'http://github.com/sinatra/sinatra.git'
gem 'RedCloth', '4.2.3'
Run Code Online (Sandbox Code Playgroud)

这是我的示例代码的其余部分的要点.

有没有人让这个场景奏效?

注意:我也在使用RVM(在OS X上).bundle show会将gem(和依赖项)列为现有的,但我无法正确解析它们.

谢谢.

ruby rubygems sinatra bundler

18
推荐指数
2
解决办法
8207
查看次数

开源mini-heroku?

我开始玩Sinatra并在Heroku上部署,我发现它非常有趣.我不需要Heroku提供的可扩展性,但我非常喜欢他们的CLI以及通过简单推送部署应用程序的能力.是否有在释放,我会一巴掌说,在一个EC2实例,并且将提供相同的服务(Web服务器,Postgres的,混帐推到部署,维护模式...)VM映像"的一个开源项目小'​​?

git rack heroku sinatra

18
推荐指数
2
解决办法
6555
查看次数