Rails Что-то не так ... (нуб) - PullRequest
2 голосов
/ 23 марта 2012

Я новичок и учусь на книге Стива Хольцнера «Начинающий Ruby on Rails». Он говорит мне сделать контроллер с именем hello_controller, отредактировать контроллер так, чтобы он отображал

class HelloController < ApplicationController
    def there
    end 
end

Затем он говорит мне создать документ с именем there.rhtml, содержащий простой HTML, и поместить его в каталог views / hello. затем я запускаю сервер rails, перехожу на localhost: 3000 / hello / there, и результат HTML должен появиться на странице, Я вижу:

Routing Error

No route matches [GET] "/hello/there"

Try running rake routes for more information on available routes. 

Ответы [ 2 ]

5 голосов
/ 23 марта 2012

См. http://guides.rubyonrails.org/routing.html

Вам необходимо добавить маршрут к контроллеру hello с помощью действия there. Файл маршрута обычно находится в

конфиг / route.rb

Например, если вы добавите

match '/hello/there' => 'hello#there'

к вашему файлу маршрутов, вы должны увидеть, что / hello / туда направит ваш правильный контроллер и действие. Однако о маршрутах нужно знать гораздо больше, чем то, что я вам здесь показываю, поэтому, пожалуйста, просмотрите ссылку, которую я вам дал!

1 голос
/ 23 марта 2012

Для самого быстрого исправления попробуйте просто ввести следующий URL-адрес в браузере (обратите внимание на окончание):

localhost:3000/hello/there/0

Кен Ли дал хороший совет. Вот небольшое объяснение: ваш файл маршрутов, вероятно, по умолчанию интерпретирует только несколько выбранных маршрутов после шаблона /[controller_name]/[action_name], и «там» нет одного из немногих имен действий, которые он будет распознавать (пока вы не измените свои маршруты. рб файл). Однако для URL-адресов, которые следуют шаблону /[controller_name]/[action_name]/[id].

, должно быть всеобщее внимание.

(Не волнуйтесь: вашему действию на самом деле ничего не нужно делать с идентификатором в конце URL-адреса. Просто приложение rails распознает шаблон, если идентификатор присутствует).

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