Пустая страница при переходе на http://localhost:3000/say/hello - PullRequest
0 голосов
/ 23 марта 2011

Я новичок в Ruby on Rails и делаю свой первый урок, и я использую последнюю версию rails 3 и ruby ​​1.9.2. После создания контроллера и перехода на http://localhost:3000/say/hello я получаю пустую страницу. Я вижу сообщение Welcome to Rails, когда просто захожу на http://localhost:3000.. Я провел несколько поисков в Google, и у людей возникают похожие проблемы, но нет четкого решения. Я никогда раньше не работал с MVC, поэтому концепция маршрутизации для меня довольно новая.

Ниже мой контроллер:

class SayController < ApplicationController
  def hello
  end
  def goodbye
  end
end

Мой взгляд:

<h1>Say hello to Rails!</h1>

Ответы [ 4 ]

3 голосов
/ 23 марта 2011

Вам следует удалить файл public / index.html, так как он будет портить вашу маршрутизацию и отображаться по умолчанию.Вы уже настроили свои маршруты и каково точное местоположение и имя файла шаблона?

Вам понадобится что-то вроде в вашем файле config / rout.rb, чтобы правильно направить этот URL к вашему шаблону / представлению:

match '/say/hello' => 'say#hello'
1 голос
/ 14 июля 2011

Интересная общая строка для добавления в config / маршруты:

match ':controller(/:action(/:id(.:format)))'

Во время разработки это позволит вам отображать контроллер / действие в адресной строке для ВСЕГО контроллера / действия / id.format и т. Д.

Как писал Bitterzote, если контроллер «скажет», а действие «привет», http://localhost:3000/say/hello.Если вы используете контроллер «сказать» и действие «двигаться», http://localhost:3000/say/move.

Я нашел этот маршрут очень полезным во время разработки, но измените его, если вы запускаете свое приложение!(Rails предупреждает: «Примечание. Этот маршрут сделает все действия на каждом контроллере доступными через запросы GET.»)

1 голос
/ 24 марта 2011

На ваш конкретный вопрос уже ответил Bitterzoet, но я подумал, что вам могут потребоваться альтернативные учебные ресурсы.

Я не уверен, с какого урока вы начинаете, но мне кажется странным, что они не используют RESTful маршруты. Вы можете узнать, какие маршруты вы настроили в данный момент, зайдя в консоль и набрав "rake route". Если вам нужен другой учебник, я рекомендую его здесь: http://www.wiki.devchix.com/index.php?title=Rails_3_Curriculum

Я бы также порекомендовал http://railsforzombies.org/ как хороший первый опыт работы с рельсами.

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

Сначала удалите файл index.html из общей папки.Затем перейдите в приложение / views и проверьте представления для контроллера say.У вас должен быть hello.html.erb.

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