我第一次深入研究 Ruby 和 Sinatra,并浏览了 Alan Harris 和 Konstatin Haase 的“ Sinatra Up and Running ”。在整理了我的 Ruby 版本(使用 RVM)之后,在创建扩展时,我直到第 3 章都没有遇到任何问题。代码如下(post_get.rb):
require 'sinatra/base'
module Sinatra
module PostGet
def post_get (route, &block)
get (route, &block)
post (route, &block)
end
end
register PostGet
end
与 (post_get_test.rb) 一起使用:
require 'sinatra'
require './post_get'
post_get '/' do
"Hello #{params[:names]}"
end
但是,每当我运行“ruby post_get_test.rb”时,我都会立即收到以下运行时错误:
user@UbuntuOne:~/sinatra$ ruby post_get_test.rb
/home/user/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': /home/user/sinatra/post_get.rb:6: syntax error, unexpected ',', expecting ')' (SyntaxError)
get (route, &block)
^
/home/user/sinatra/post_get.rb:7: syntax error, unexpected ',', expecting ')'
post (route, &block)
^
/home/user/sinatra/post_get.rb:13: syntax error, unexpected $end, expecting keyword_end
from /home/user/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from post_get_test.rb:2:in `<main>'
我什至不确定从哪里开始解决这个问题。有人可以指出我正确的方向来解决这个问题吗?
谢谢。