#ruby-on-rails #ruby #railstutorial.org
#ruby-on-rails #ruby #railstutorial.org
Вопрос:
Я изучаю учебное пособие по Ruby on Rails от Майкла Хартла. Мое приложение / views / static_pages/help.html.erb содержит ссылку на веб-сайт www.railstutorial.org Вот код
<!DOCTYPE html>
<html>
<head>
<title>Help | Ruby on Rails Tutorial Sample App</title>
</head>
<body>
<h1>Help</h1>
<p>
Get help on the Ruby on Rails Tutorial at the
<a href=“http://www.railstutorial.org/#help”>Rails Tutorial help section</a>
</p>
но я получаю ошибку No route matches [GET] "/static_pages/“http:/www.railstutorial.org"
Как функция get в routes.rb работает для ссылки? должно ли это быть что-то вроде
get 'static_pages/wwww.railstutorial.org' ?
Комментарии:
1. Вы пробовали использовать вместо ссылки встроенный ruby? Вам не нужно указывать внешнюю ссылку в вашем файле routes.rb, кстати.
2. Вы используете «интеллектуальные кавычки» (
“
и”
) вместо обычных двойных кавычек ("
). HTML использует простые старые кавычки ASCII для атрибутов.3. Привет, Минт, возможно, вам не нужен link_to railstutorial.org/#help .?
Ответ №1:
Вам нужен вызываемый контроллер StaticPagesController
с методом в нем. Тогда имя не имеет значения. Тогда в файлах маршрутов это было бы get "static_pages/wwww.railstutorial.org", to: "static_pages#method_name"
Для этого контроллер выглядел бы как:
class StaticPagesController < ActionController
def method_name
end
end
Также обратите внимание, вам понадобится соответствующее представление в папке static_pages views под названием method_name
Комментарии:
1. Нет, как упоминалось в комментариях @mu, слишком короткое, ошибка заключается в использовании
“http://www.railstutorial.org/#help”
интеллектуальных кавычек, а не стандартных"http://www.railstutorial.org/#help"
кавычек. Нет необходимости в другом контроллере
Ответ №2:
Вам вообще не нужна какая-либо конфигурация маршрута. Это простой HTML-тег A. Подробнее о теге HTML a читайте в http://www.w3schools.com/tags/tag_a.asp