ошибка на рельсах 3 - PullRequest
       4

ошибка на рельсах 3

0 голосов
/ 28 ноября 2011

Привет, это вопрос начинающего ROR. У меня есть созданный controller.rb и я смотрю hello.rhtml после урока, но когда я пытаюсь открыть localhost: 3000 / say / hello, возникает ошибка: нет совпадений с маршрутом [GET] "/ say / hello"

Может, какой-нибудь совет, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 28 ноября 2011

Ну, вам нужно настроить маршрут для этого в вашем файле config / rout.rb. Для первой попытки я бы сказал, использовать генератор сценариев, введите в командной строке, как в библиотеке проекта> rails g controller helloworld index. Это создаст маршрут для себя и файла контроллера. После того, как этот скрипт запустится, должна быть строка в вашем config / rout.rb

Cloud::Application.routes.draw do
  get "helloworld/index"
end

Затем вам нужно ввести localhost:3000/helloworld/index в строке браузера. Затем (по умолчанию) рельсы отобразят представление, расположенное в app / views / helloworld / index. *. Если вы хотите изменить это поведение, перейдите к контроллеру helloworld. Для получения дополнительной информации есть полезное руководство: РУКОВОДСТВА ПО МАРШРУТУ

0 голосов
/ 28 ноября 2011

Я недавно начал разрабатывать RoR, и лучшая практика, которую я получил, - это учебник @ rails для зомби и видео @ railscasts.Я предлагаю вам посмотреть некоторые / сделать некоторые, и вы получите общее представление о том, как начать:)

-edit- по этой проблеме: вы пытаетесь визуализировать вид приветствия из контроллера say.поскольку маршрутизация обрабатывается по умолчанию для: controller /: action, есть ли у вас действие с именем hello, скажем?Отсутствие действия означает, что нет маршрута означает, что представление не отображается.

class SayController < ApplicationController

  def hello
    #do nothing or add some code
    logger.debug "I'm in the say controller, hello action!"
  end

end

Это должно заставить его отобразить файл приветствия.Возможно, вы захотите взглянуть на спокойные действия / crud, хотя rails использует их по умолчанию.

0 голосов
/ 28 ноября 2011

Вам нужно определить определение маршрута так, чтобы запрашиваемый URL-адрес отображался на действие в созданном вами контроллере, которое отображало бы hello.rhtml. Скажем, имя вашего контроллера - say_controller.rb (именно так Rails дает имя файла). В этом случае, если вы определите и действие hello, которое по умолчанию отобразит hello.rhtml, то fallback routes, которые определены в конце в файле rout.rb, сделают запрос к say/hello на поиск say_controller и hello действие, таким образом рендеринг hello.rhtml.

Для получения подробной помощи вы можете обратиться к Направляющим рельсов . Там много полезного материала, и он очень хорошо объяснен.

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