public 建个文件夹专门放静态网页,html/assets 都放里面。
巴萨三冠王!
用 thin 代替 mongrel
<%= sanitize render_markdown(post.description) %>
http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html
#9 楼 @glorySpring 别自己设置头了,看 7 楼链接。
RestClient.post '/data', {:foo => 'bar', :multipart => true}
#6 楼 @glorySpring 这个 form 不是 multipart 吗?
顶楼这里是错误的:
request.body = {'apiId' => 'username', 'apiKey' => 'key'}.to_json
塞了个 json 进去,对不上 enctype,用浏览器看看 HTML 表单提交的头和 body 是什么。
#5 楼 @glorySpring 那么用一些包装好的库吧,标准库的 Net::HTTP 不支持 multipart
public 没有问题。
奥,是被 rubygems.org 卡住。
$ gem sources -r https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org
# 确保只有 ruby.taobao.org
然后 bundle
Gemfile 的源改成
source 'https://ruby.taobao.org'
rm vendor/cache/ruby/2.0.0/gems/eventmachine-1.0.3/ -rf
rm vendor/cache/ruby/2.0.0/specifications/eventmachine-1.0.3.gemspec
bundle install
这个 Gemfile 太复杂,不确定问题在哪。
warning 来自 instance_eval 执行的外部文件,要分析这两个文件才知道问题。
引发错误的是 No such file or directory - /var/wtn/vendor/cache/ruby/2.0.0/gems/eventmachine-1.0.3/lib/rubyeventmachine.so (LoadError)
,不确定你是怎么装 eventmachine 的。
这个项目依赖这么复杂,是要部署到各种各样的客户环境?我觉得你问现在的维护者怎么处理比较好。
我第一次见 Gemfile 里面用 eval 的。
form-data
不一定指 multipart/form-data
,应该指的就是普通的 POST form。
uri = URI('http://www.example.com/search.cgi')
res = Net::HTTP.post_form(uri, 'q' => 'ruby', 'max' => '50')
puts res.body
http://ruby-doc.org/stdlib-2.2.2/libdoc/net/http/rdoc/Net/HTTP.html#class-Net::HTTP-label-POST
这可不奇葩。
大 V 状态分发有试过拆成多个子任务并行执行吗?
NoMethodError 之后程序就停止执行了,还考虑后面干嘛呢?
……那就再查一次啊。