Синатра, модульный стиль.Что я сделал не так? - PullRequest
2 голосов
/ 22 марта 2011

Я использую модульный стиль Синатры, я не знаю, что происходит плохо. Я ищу Google, но ничего не нашел

require 'sinatra/base'

class App < Sinatra::Base

  get '/' do
    haml '%h1 Test'
  end

end

run App

И см. Test.rb: 12: in <main>': undefined method run 'для main: Object (NoMethodError) Что не так?

Ответы [ 2 ]

10 голосов
/ 22 марта 2011

вы запускали его через ruby ​​-rubygems hi.rb (при условии, что этот код находится в hi.rb).Если это так, вам не нужно запускать приложение.Если вы не запускаете его через другой фреймворк, построенный на / с Sinatra.

Также может потребоваться включить haml ...

У вас есть config.ru:

# config.ru
require 'my_app'
run MyApp

и my_app.rb:

# my_app.rb
require 'sinatra/base'
require 'haml'

class MyApp < Sinatra::Base

get('/') { haml '%h1 Test' }

  # start the server if ruby file executed directly
  run! if app_file == $0
end

, затем в папке, где выполняется my_app.rb, чтобы запустить приложение на локальном хосте: 4657:

rackup -p 4567
2 голосов
/ 04 февраля 2012

Относительно комментария выше, где отображается ошибка ниже:

`start_tcp_server': no acceptor (RuntimeError)

Это появляется, когда вы пытаетесь подключиться к уже связанному порту.Попытка использовать другой номер порта должна разрешиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...