Доброго времени суток!
Пытаюсь для себя изучить этот язык. Застрял на первом же шаге. Учусь по книжке (TheRailsWays)и тут для "закрепления" материала делают пример выполняя функцию диспетчера в ручную. Так вот у меня почему то не выходит. Че делаю:
запускаю новое приложение:
rails dispatch_me
создаю простой контроллер с действием index
cd dispatch_me/
ruby ./script/generate controller demo index
смотрю на только что созданный файлик demo_controller.rb
class DemoController < ApplicationController
def index
end
end
далее, чтобы не запутаться, советуют изменить index.rhtml (который также только что сгенерился). НО! У меня он имеет такое название index.html.erb...
далее заходим собственно в рельсы
ruby script/console
Loading development environment (Rails 2.3.5)
>>
вводим две переменные окружения:
>> ENV["REQUEST_URI"] = "demo/index"
=> "demo/index"
>> ENV["REQUEST_METHOD"] = "get"
=> "get"
>>
все пока хорошо, далее пытаемся обмануть диспетчер, заставив думать его будто он получил запрос.
>> Dispatcher.dispatch
и вместо положенного ответа получаю вот такую ошибку...
NoMethodError: undefined method `env_table' for nil:NilClass
from /usr/lib/ruby/1.8/active_support/whiny_nil.rb:52:in `method_missing'
from /usr/lib/ruby/1.8/action_controller/cgi_process.rb:22:in `__send__'
from /usr/lib/ruby/1.8/action_controller/cgi_process.rb:22:in `dispatch_cgi'
from /usr/lib/ruby/1.8/action_controller/dispatcher.rb:101:in `dispatch_cgi'
from /usr/lib/ruby/1.8/action_controller/dispatcher.rb:27:in `dispatch'
from (irb):3
>>
есть подозрение, что неправильно задая переменные окружения (хотя как в книжке), ибо здесь ругается на отсутсвие метода send, хотя я задаю get...
помогите разобраться в чем тут может быть проблема?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.