有没有人知道是否有类似于Ruby的Sinatra的.NET库/ API ?
只是想知道自从ASP.NET MVC,WCF和.NET 3.5中的新路由API以来,它似乎是一种可能性.
Encoding::UndefinedConversionError - "\xC2" from ASCII-8BIT to UTF-8
每次我尝试将哈希转换为JSON字符串时,我都会继续获取.我试着用[.encode | .force_encoding](["UTF-8" | "ASCII-8BIT" ])
,链.encode
带.force_encoding
,向后切换参数,但似乎没有任何工作,所以我抓住了错误是这样的:
begin
menu.to_json
rescue Encoding::UndefinedConversionError
puts $!.error_char.dump
p $!.error_char.encoding
end
Run Code Online (Sandbox Code Playgroud)
菜单是续集的dataset.to_hash,内容来自MySQL DB,utf8_general_ci编码并返回:
"\ XC2"
<#Encoding:ASCII-8BIT>
无论我.encode
/ .force_encoding
我使用什么,编码都不会改变.我甚至试图在.gsub!(/\\\xC2/)
没有运气的情况下更换琴弦.
有任何想法吗?
正如标题所说,谷歌没有提供任何有用的信息.
如何为Sinatra应用程序设置和配置HTTPS/SSL?
如何创建HTTPS路由?
我以前从来没有为我的应用程序使用HTTPS,也没有调整Rack /的经验,所以我很感激详细的答案.
我正在编写我的第一个Sinatra应用程序,并希望使用Pry来检查/调试应用程序中正在发生的一些事情.我之前没有使用过Pry,但我想尝试一下.我如何开始在我的Sinatra应用程序中使用Pry?
我正在使用Sinatra返回一些IFRAME内容,我想允许跨域src.不幸的是,Sinatra会自动为我的回复添加一个X-Frame-Options标头.我怎么把它关掉?
据我了解,与Rails不同,Sinatra框架不提供ORM.在这种情况下,您如何与Sinatra应用程序中的数据库通信?或者Sinatra仅适用于不使用数据库的应用程序?
在我的主要Sinatra控制器中,我想在从表单发布后调试params哈希.
我已经添加了:
puts params.inspect
Run Code Online (Sandbox Code Playgroud)
和
set :logging, :true
Run Code Online (Sandbox Code Playgroud)
params.inspect
如果一切顺利,工作.但是如果在执行控制器之前发生错误,我就没有得到任何关于错误的信息,就像我在Rails中默认情况一样.
获得有用的调试信息的最佳方法是什么?
此示例根本不起作用(在我添加此代码后应用程序甚至不会启动):
configure do
Log = Logger.new("sinatra.log")
Log.level = Logger::INFO
end
Run Code Online (Sandbox Code Playgroud)
其次是:
Log.info "#{@users.inspect}"
Run Code Online (Sandbox Code Playgroud) 我正在编写一个API,它接收一个JSON有效负载作为请求主体.
为了得到它,我正在做这样的事情:
post '/doSomething' do
request.body.rewind
request_payload = JSON.parse request.body.read
#do something with request_payload
body request_payload['someKey']
end
Run Code Online (Sandbox Code Playgroud)
有什么方法可以抽象出来,这样我就不需要为每条路线做这件事了?我的一些路由比这更复杂,因此使用这种方法,request.body将被重新读取并重新分析每个路由,我想避免.
有没有办法让request_payload神奇地可用于路由?像这样:
post '/doSomething' do
#do something with request_payload, it's already parsed and available
body request_payload['someKey']
end
Run Code Online (Sandbox Code Playgroud) 我是这三个人的新手,我正在尝试为网站写一个简单的联系表格.我提出的代码如下,但我知道它存在一些基本问题(由于我对sinatra缺乏经验).得到这个工作的任何帮助将不胜感激,我似乎无法弄清楚/找到这类事情的文档.
来自联系页面的haml代码:
%form{:name => "email", :id => "email", :action => "/contact", :method => "post", :enctype => "text/plain"}
%fieldset
%ol
%li
%label{:for => "message[name]"} Name:
%input{:type => "text", :name => "message[name]", :class => "text"}
%li
%label{:for => "message[mail]"} Mail:
%input{:type => "text", :name => "message[mail]", :class => "text"}
%li
%label{:for => "message[body]"} Message:
%textarea{:name => "message[body]"}
%input{:type => "submit", :value => "Send", :class => "button"}
Run Code Online (Sandbox Code Playgroud)
这是我在sinatra的app.rb中的代码:
require 'rubygems'
require 'sinatra'
require 'haml'
require 'pony'
get '/' do
haml :index
end
get …
Run Code Online (Sandbox Code Playgroud) 我在Windows 7 32位操作系统上有一个ruby(使用sinatra)webservice.它在端口4567上运行.当我使用localhost时工作正常:4567但是当我用我的机器的本地ip替换localhost时,192.168.103.99 :4567它不起作用,并且无法连接.我已经禁用了防火墙,旁路代理并将端口4567添加到异常,仍然没有运气.
可能是什么问题?