Questions tagged «sinatra»

18
单独的REST JSON API服务器和客户端?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我将要从头开始创建一堆Web应用程序。(有关概述,请参见http://50pop.com/code。)我希望它们能够从许多不同的客户端进行访问:前端网站,智能手机应用程序,后端Web服务等。因此,我真的想要一个每个JSON REST API。 另外,我更喜欢在后端上工作,所以我做白日梦,我只专注于API,并雇用其他人制作前端UI,无论是网站,iPhone,Android还是其他应用程序。 请帮助我决定我应该采用哪种方法: 齐心协力 制作一个非常标准的Rails网络应用程序。在控制器中,执行response_with开关,以提供JSON或HTML。JSON响应就是我的API。 优点:很多先例。高标准和以这种方式做事的许多例子。 缺点:不一定希望API与Web应用程序相同。不喜欢if / then response_with切换方法。混合两种截然不同的东西(UI + API)。 REST SERVER + JAVASCRIPT-HEAVY CLIENT 制作仅JSON的REST API服务器。将Backbone或Ember.js用于客户端JavaScript可直接访问API,并在浏览器中显示模板。 优点:我喜欢API和客户端的分离。聪明的人说这是要走的路。理论上很棒。似乎最前沿和令人兴奋。 缺点:没有多少先例。这样做的例子并不多。公开示例(twitter.com)感觉呆滞,甚至正在放弃这种方法。 REST SERVER +服务器端HTML客户端 制作仅JSON的REST API服务器。制作一个基本的HTML网站客户端,该客户端仅访问REST API。更少的客户端JavaScript。 优点:我喜欢API和客户端的分离。但是提供纯HTML5十分简单,而且不会占用大量客户端。 缺点:没有多少先例。这样做的例子并不多。框架也不支持这一点。不确定如何处理。 特别是从经验中寻求建议,而不仅仅是从理论上。

8
通过多个文件将Sinatra用于较大的项目
似乎在Sinatra中,所有路由处理程序都被写入一个文件中,如果我理解正确的话,它可以充当一个大/小控制器。有没有办法将其拆分为单独的独立文件,所以当有人说“ /”-执行一个动作,并且如果收到“ / posts / 2”之类的东西,则执行另一个动作-在PHP中应用类似的逻辑?
184 ruby  sinatra 

14
使用Sinatra提供静态文件
我只有一页网站使用HTML,CSS和JavaScript。我想将应用程序部署到Heroku,但是找不到解决方法。我现在正在尝试使该应用程序与Sinatra一起使用。 . |-- application.css |-- application.js |-- index.html |-- jquery.js `-- myapp.rb 以下是的内容myapp.rb。 require 'rubygems' require 'sinatra' get "/" do # What should I write here to point to the `index.html` end
139 ruby  sinatra 


3
通过Nginx的EventSource /服务器发送的事件
在服务器端,使用Sinatra和一个stream块。 get '/stream', :provides => 'text/event-stream' do stream :keep_open do |out| connections << out out.callback { connections.delete(out) } end end 在客户端: var es = new EventSource('/stream'); es.onmessage = function(e) { $('#chat').append(e.data + "\n") }; 当我通过直接使用应用程序时http://localhost:9292/,一切正常。连接是持久的,所有消息都传递给所有客户端。 但是,当它通过Nginx时http://chat.dev,该连接将被丢弃,并且每秒大约会触发一次重新连接。 Nginx的安装程序对我来说没问题: upstream chat_dev_upstream { server 127.0.0.1:9292; } server { listen 80; server_name chat.dev; location …
78 ruby  nginx  sinatra 

12
为什么这个RMagick调用会产生分段错误?
一个多小时的时间里,我一直在脑海中trying撞,试图弄清楚这里出了什么问题,而且我敢肯定(或者更希望是)我忽略了很明显的事情。我正在使用Ruby 1.9.1,Sinatra 1.0和RMagick 2.13.1。ImageMagick和RMagick已正确安装并正常运行-我已经成功地操作并保存了irb中的图像。 params数组的相关部分(为便于阅读而更改格式): {"admin_user_new_image_file"=> { :filename=>"freddie-on-shetland-pony.png", :type=>"image/png", :name=>"admin_user_new_image_file", :tempfile=>#<File:/var/folders/a7/a7pO5jMcGLCww9XBGRvWfE+++TI/-Tmp-/RackMultipart20100514-20700-o2tkqu-0>, :head=>"Content-Disposition: form-data; name=\"admin_user_new_image_file\"; filename=\"freddie-on-shetland-pony.png\"\r\nContent-Type: image/png\r\n" } } 相关代码: post "/admin/user/:account_name/image/new/" do if params[:admin_user_new_image_file][:tempfile] thumbnail = Magick::Image.read("png:"+params[:admin_user_new_image_file][:tempfile].path).first end end 错误(第229行是以“ thumbnail =”开头的行: config.ru:229: [BUG] Segmentation fault ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10.3.0] -- control frame ---------- c:0042 p:---- s:0196 b:0196 …

3
Sinatra与Rails
我已经完成了Sinatra和Rails的一些示例,但是我很难确定哪些功能属于哪种技术。 通过使用Sinatra / Rails,我可以得到什么?仅仅是ActionPack / ActionView吗?如果我错了,请纠正我,但是我可以只使用Webrick / Mongrel并提供我的.erb文件,对吗?而且我可以在这些文件中使用ActiveRecord技术,并且仍然访问发布变量,会话状态和querystring变量,对吗? 所以,我要问的是,如果我从上述类似PHP的场景开始;Webrick + ERB + ActiveRecord,使用Sinatra有什么好处?通过使用Rails,我还能获得什么呢?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.