一直在用。
图裂了,楼主。。。
楼主看头像是个美女?
不要怪 Grape 哦,Grape 里面直接用 headers["X-Real-IP"] 就可以了嘛。 在 Nginx 里面设置: proxy_set_header X-Real-IP $remote_addr;
#42 楼 @lingxueyu 我是先扩展了它的 formatter, 让它支持返回 html, 代码如下仅供参考:
module Grape
module ContentTypes
def self.content_types_for(from_settings)
if from_settings.present?
from_settings
else
ActiveSupport::OrderedHash[
:xml, 'application/xml',
:serializable_hash, 'application/json',
:json, 'application/json',
:binary, 'application/octet-stream',
:txt, 'text/plain',
:html, 'text/html'
]
end
end
end
end
module Grape
module Formatter
module Html
class << self
def call(object, env)
end
end
end
end
end
Grape::Formatter::Base.formatters({html: Grape::Formatter::Html})
然后写一个专门的 api 接口来处理 html 渲染。模板引擎可以考虑使用 ERB。比如
class Doc < Grape::API
format :html
content_type :html, 'text/html'
get '/path' do
#render erb template
end
end
最后你可以考虑把这个 Api 挂接到你的主 Api 里面。我主要是用来给前端开发人员提供 Api 文档。
目前我用 Grape + Goliath 的组合。使用了 Activerecord,然后和 Rails 共享 model 层的代码。扩展了 Grape 让它支持 html 渲染,以便提供 API 文档页面,自己写了发布代码以便不要和 Rails 发布产生交叉影响;单独使用了 whenever,增加了几个类似 Rails 里面的目录来放 rake task 文件和 schedule 文件,让 Api 的后台脚本与 Rails 分开管理。这样 Rails 就可以单独做后台管理,特别是发布和测试的时候,不会影响前端 API;还可以随意增加 Rails 项目降低耦合度。
这么说蝉游记早就是携程下面的子公司了?
赞,看上去太爽了。那个机器人是什么供电方式?纽扣电池?如果上 linux 一次可以跑多长时间?
#1 楼 @regantechjobs 其实上传一个合适的头像能让你的招聘更专业。
图呢?我是来看图得。
上海是个不错的城市,感觉是我去过管理最好,最成熟的城市了。空气质量还可以,至少比成都好多了。
#88 楼 @quakewang 谢谢,那我就有信心了。
@quakewang 请问蝉游记的 mobile app api 是基于 ruby 的解决方案么?
@yakjuly 邮箱是 yexiaozhou2003 AT gmail.com
楼主 @yakjuly , 我可以推荐一个人,@timothyye , C# 很厉害。
记住是我推荐的哈。坐等楼主送 iPhone6
为什么不赠送入职人员一部 iPhone6 呢?
目测,在一个叫英俊的居民楼。
亲子互动,需要强力的 UI 支持。
@haiguizac 真的不错,不知道上次有多少人到会?
这货还可以监控 server , 我们是连 server 运行状况一起用 NewRelic 来监控的。比如说磁盘使用量,CPU 占用率,Memcached 内存使用量,这些可以设置阀值,如果超过了就给我们发邮件。感觉还是比较方便。
但问题是,大家还是习惯 github , 甚至说我们是山寨版... 知名度小
哈哈,貌似酸酸得感觉呢。
这么做,在某些场合作用非常大,可以避免被坑,如果你设计存储 hash 数据,希望别人访问时只要 key 相同,不论你使用 string key 还是 symbol key 都能获取同一个数据,那么就可以这么干了。