2

コードを使用してhelloworld.ruを作成したディレクトリに最初にrake基本アプリを作成しようとしています

class HelloRack def call(env)["200"、{"Content-Type" => "text / plain"}、 "Hello World"] end end run HelloRack.new

私はそれをrackuphelloworld.ruで実行します。その後、コードを使用して同じディレクトリに3つのファイルMassive.rbを作成しました。

module Rack
  class Massive
    def initialize(app)
      @app = app
    end

    def call(env)
      status, headers, response= @app.call(env)
      [status, headers, "<div style="font-size:5.0em">#{response} - it's all small stuff</div>"]
    end
  end
end

他のファイルの名前はSmallStuff.rbです

class SmallStuff
  def call(env)
    ["200", {"Content-Type" => "text/html"}, "Don't Sweat The Small Stuff"]
  end
end

もう1つのファイルの名前はconfig.ruとコードです

require 'rubygems'
require 'rack'

use Rack::Massive
run SmallStuff.new

Rackup config.ruを実行すると、エラーが発生します

/home/ritesh/rails/config.ru:4: uninitialized constant Rack::Massive (NameError)
    from /var/lib/gems/1.8/gems/rack-1.4.4/lib/rack/builder.rb:51:in `instance_eval'
    from /var/lib/gems/1.8/gems/rack-1.4.4/lib/rack/builder.rb:51:in `initialize'
    from /home/ritesh/rails/config.ru:0:in `new'
    from /home/ritesh/rails/config.ru:0

このエラーを取り除く方法私はrakeアプリケーションを初めて使用します。rakeアプリケーションのチュートリアルまたは役立つリンクを提供してください。

4

1 に答える 1

1

1つまたは2つのが欠落しているようですrequire。最初に他のファイルの名前をmassive.rbとsmall_stuff.rbに変更し(Rubyの規則に従うため)、次に次のようなものを要求します。

require 'rubygems'
require 'rack'

require_relative './massive'
require_relative './small_stuff'

use Rack::Massive
run SmallStuff.new
于 2013-01-28T17:50:55.077 に答える